summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.mailmap3
-rw-r--r--HACKING.rst33
-rw-r--r--doc/api_samples/all_extensions/extensions-get-resp.json22
-rw-r--r--doc/api_samples/all_extensions/extensions-get-resp.xml10
-rw-r--r--doc/api_samples/os-extended-quotas/quotas-update-post-req.json6
-rw-r--r--doc/api_samples/os-extended-quotas/quotas-update-post-req.xml5
-rw-r--r--doc/api_samples/os-extended-quotas/quotas-update-post-resp.json16
-rw-r--r--doc/api_samples/os-extended-quotas/quotas-update-post-resp.xml15
-rw-r--r--doc/api_samples/os-services/service-disable-log-put-req.json5
-rw-r--r--doc/api_samples/os-services/service-disable-log-put-req.xml2
-rw-r--r--doc/api_samples/os-services/service-disable-log-put-resp.json8
-rw-r--r--doc/api_samples/os-services/service-disable-log-put-resp.xml2
-rw-r--r--doc/api_samples/os-services/service-enable-put-req.json2
-rw-r--r--doc/api_samples/os-services/services-get-resp.json40
-rw-r--r--doc/api_samples/os-services/services-get-resp.xml6
-rw-r--r--doc/api_samples/os-tenant-networks/networks-list-res.xml13
-rw-r--r--doc/api_samples/os-tenant-networks/networks-post-req.xml7
-rw-r--r--doc/api_samples/os-tenant-networks/networks-post-res.xml6
-rw-r--r--doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json90
-rw-r--r--doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml37
-rw-r--r--doc/source/devref/compute.rst4
-rw-r--r--etc/nova/nova.conf.sample499
-rw-r--r--etc/nova/policy.json3
-rw-r--r--nova/api/ec2/__init__.py3
-rw-r--r--nova/api/ec2/cloud.py52
-rw-r--r--nova/api/metadata/base.py2
-rw-r--r--nova/api/metadata/password.py9
-rw-r--r--nova/api/openstack/__init__.py20
-rw-r--r--nova/api/openstack/common.py3
-rw-r--r--nova/api/openstack/compute/consoles.py3
-rw-r--r--nova/api/openstack/compute/contrib/attach_interfaces.py2
-rw-r--r--nova/api/openstack/compute/contrib/certificates.py13
-rw-r--r--nova/api/openstack/compute/contrib/coverage_ext.py3
-rw-r--r--nova/api/openstack/compute/contrib/extended_ips.py2
-rw-r--r--nova/api/openstack/compute/contrib/extended_quotas.py9
-rw-r--r--nova/api/openstack/compute/contrib/extended_services.py11
-rw-r--r--nova/api/openstack/compute/contrib/fixed_ips.py3
-rw-r--r--nova/api/openstack/compute/contrib/flavor_access.py10
-rw-r--r--nova/api/openstack/compute/contrib/flavorextraspecs.py2
-rw-r--r--nova/api/openstack/compute/contrib/flavormanage.py2
-rw-r--r--nova/api/openstack/compute/contrib/hosts.py7
-rw-r--r--nova/api/openstack/compute/contrib/keypairs.py10
-rw-r--r--nova/api/openstack/compute/contrib/quotas.py71
-rw-r--r--nova/api/openstack/compute/contrib/security_groups.py20
-rw-r--r--nova/api/openstack/compute/contrib/server_start_stop.py5
-rw-r--r--nova/api/openstack/compute/contrib/services.py108
-rw-r--r--nova/api/openstack/compute/contrib/simple_tenant_usage.py5
-rw-r--r--nova/api/openstack/compute/contrib/used_limits.py23
-rw-r--r--nova/api/openstack/compute/contrib/used_limits_for_admin.py (renamed from nova/openstack/common/plugin/__init__.py)19
-rw-r--r--nova/api/openstack/compute/contrib/volumes.py2
-rw-r--r--nova/api/openstack/compute/extensions.py5
-rw-r--r--nova/api/openstack/compute/flavors.py4
-rw-r--r--nova/api/openstack/compute/images.py4
-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/keypairs.py10
-rw-r--r--nova/api/openstack/compute/plugins/v3/servers.py28
-rw-r--r--nova/api/openstack/compute/servers.py27
-rw-r--r--nova/api/openstack/compute/views/servers.py12
-rw-r--r--nova/baserpc.py18
-rw-r--r--nova/block_device.py179
-rw-r--r--nova/cells/messaging.py10
-rw-r--r--nova/cells/opts.py9
-rw-r--r--nova/cells/rpc_driver.py19
-rw-r--r--nova/cells/rpcapi.py21
-rw-r--r--nova/cells/scheduler.py8
-rw-r--r--nova/cells/state.py4
-rw-r--r--nova/cells/weights/mute_child.py9
-rw-r--r--nova/cert/rpcapi.py18
-rw-r--r--nova/cloudpipe/pipelib.py10
-rw-r--r--nova/cmd/baremetal_deploy_helper.py22
-rw-r--r--nova/cmd/baremetal_manage.py6
-rw-r--r--nova/cmd/compute.py6
-rw-r--r--nova/cmd/conductor.py2
-rw-r--r--nova/cmd/manage.py63
-rw-r--r--nova/cmd/novnc.py44
-rw-r--r--nova/cmd/novncproxy.py30
-rw-r--r--nova/cmd/spicehtml5proxy.py36
-rw-r--r--nova/compute/api.py241
-rw-r--r--nova/compute/cells_api.py4
-rw-r--r--nova/compute/flavors.py81
-rwxr-xr-xnova/compute/manager.py622
-rw-r--r--nova/compute/resource_tracker.py4
-rw-r--r--nova/compute/rpcapi.py39
-rw-r--r--nova/compute/utils.py14
-rw-r--r--nova/conductor/api.py306
-rw-r--r--nova/conductor/manager.py25
-rw-r--r--nova/conductor/rpcapi.py48
-rw-r--r--nova/console/rpcapi.py18
-rw-r--r--nova/consoleauth/rpcapi.py18
-rw-r--r--nova/db/api.py148
-rw-r--r--nova/db/sqlalchemy/api.py530
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/149_inet_datatype_for_postgres.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/156_cidr_column_length.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py128
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py270
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/187_add_instance_groups.py121
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/188_add_reason_column_to_service.py36
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/189_add_cells_uc.py40
-rw-r--r--nova/db/sqlalchemy/models.py296
-rw-r--r--nova/db/sqlalchemy/utils.py33
-rw-r--r--nova/exception.py72
-rw-r--r--nova/image/glance.py3
-rw-r--r--nova/image/s3.py5
-rw-r--r--nova/locale/bg_BG/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/bs/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/ca/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/cs/LC_MESSAGES/nova.po3410
-rw-r--r--nova/locale/da/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/de/LC_MESSAGES/nova.po3272
-rw-r--r--nova/locale/en_AU/LC_MESSAGES/nova.po3323
-rw-r--r--nova/locale/en_GB/LC_MESSAGES/nova.po3314
-rw-r--r--nova/locale/en_US/LC_MESSAGES/nova.po3397
-rw-r--r--nova/locale/es/LC_MESSAGES/nova.po3327
-rw-r--r--nova/locale/fi_FI/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/fr/LC_MESSAGES/nova.po3335
-rw-r--r--nova/locale/hr/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/hu/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/id/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/it/LC_MESSAGES/nova.po3291
-rw-r--r--nova/locale/it_IT/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/ja/LC_MESSAGES/nova.po3323
-rw-r--r--nova/locale/ka_GE/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/ko/LC_MESSAGES/nova.po3278
-rw-r--r--nova/locale/ko_KR/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/ms/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/nb/LC_MESSAGES/nova.po3270
-rw-r--r--nova/locale/nl_NL/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/nova.pot3258
-rw-r--r--nova/locale/pt/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/pt_BR/LC_MESSAGES/nova.po3331
-rw-r--r--nova/locale/ro/LC_MESSAGES/nova.po11346
-rw-r--r--nova/locale/ru/LC_MESSAGES/nova.po3368
-rw-r--r--nova/locale/ru_RU/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/sw_KE/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/tl/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/tr/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/tr_TR/LC_MESSAGES/nova.po3292
-rw-r--r--nova/locale/uk/LC_MESSAGES/nova.po3266
-rw-r--r--nova/locale/vi_VN/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/zh_CN/LC_MESSAGES/nova.po3410
-rw-r--r--nova/locale/zh_HK/LC_MESSAGES/nova.po3262
-rw-r--r--nova/locale/zh_TW/LC_MESSAGES/nova.po3277
-rw-r--r--nova/manager.py10
-rw-r--r--nova/network/api.py15
-rw-r--r--nova/network/l3.py6
-rw-r--r--nova/network/ldapdns.py7
-rw-r--r--nova/network/linux_net.py17
-rw-r--r--nova/network/manager.py23
-rw-r--r--nova/network/model.py77
-rw-r--r--nova/network/quantumv2/__init__.py59
-rw-r--r--nova/network/quantumv2/api.py12
-rw-r--r--nova/network/rpcapi.py18
-rw-r--r--nova/network/security_group/quantum_driver.py75
-rw-r--r--nova/network/security_group/security_group_base.py7
-rw-r--r--nova/notifications.py17
-rw-r--r--nova/objects/__init__.py8
-rw-r--r--nova/objects/base.py78
-rw-r--r--nova/objects/instance.py131
-rw-r--r--nova/objects/instance_info_cache.py42
-rw-r--r--nova/objects/utils.py17
-rw-r--r--nova/openstack/common/config/__init__.py0
-rwxr-xr-x[-rw-r--r--]nova/openstack/common/config/generator.py (renamed from tools/conf/extract_opts.py)74
-rw-r--r--nova/openstack/common/db/sqlalchemy/session.py7
-rw-r--r--nova/openstack/common/fileutils.py75
-rw-r--r--nova/openstack/common/gettextutils.py176
-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/rpc/proxy.py4
-rw-r--r--nova/openstack/common/strutils.py90
-rw-r--r--nova/quota.py2
-rw-r--r--nova/scheduler/chance.py5
-rw-r--r--nova/scheduler/driver.py10
-rw-r--r--nova/scheduler/filter_scheduler.py2
-rw-r--r--nova/scheduler/filters/aggregate_multitenancy_isolation.py3
-rw-r--r--nova/scheduler/filters/compute_capabilities_filter.py5
-rw-r--r--nova/scheduler/filters/trusted_filter.py2
-rw-r--r--nova/scheduler/host_manager.py8
-rw-r--r--nova/scheduler/manager.py17
-rw-r--r--nova/scheduler/rpcapi.py18
-rw-r--r--nova/scheduler/scheduler_options.py6
-rw-r--r--nova/scheduler/utils.py15
-rw-r--r--nova/service.py5
-rw-r--r--nova/storage/linuxscsi.py4
-rw-r--r--nova/test.py45
-rw-r--r--nova/tests/api/ec2/test_api.py18
-rw-r--r--nova/tests/api/ec2/test_cinder_cloud.py20
-rw-r--r--nova/tests/api/ec2/test_cloud.py105
-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.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_config_drive.py7
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_evacuate.py20
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_access.py44
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_disabled.py12
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_manage.py10
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_rxtx.py12
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_swap.py13
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavorextradata.py14
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_keypairs.py32
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_quantum_security_groups.py78
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_quotas.py103
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_security_groups.py8
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_server_start_stop.py20
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_services.py234
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py12
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_used_limits.py119
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_volumes.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_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_keypairs.py31
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_servers.py2
-rw-r--r--nova/tests/api/openstack/compute/test_extensions.py20
-rw-r--r--nova/tests/api/openstack/compute/test_flavors.py24
-rw-r--r--nova/tests/api/openstack/compute/test_limits.py3
-rw-r--r--nova/tests/api/openstack/compute/test_server_actions.py3
-rw-r--r--nova/tests/api/openstack/compute/test_server_metadata.py3
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py117
-rw-r--r--nova/tests/api/openstack/compute/test_v3_extensions.py69
-rw-r--r--nova/tests/api/openstack/fakes.py4
-rw-r--r--nova/tests/cells/test_cells_messaging.py1
-rw-r--r--nova/tests/cells/test_cells_rpcapi.py5
-rw-r--r--nova/tests/cells/test_cells_scheduler.py20
-rw-r--r--nova/tests/compute/test_compute.py1124
-rw-r--r--nova/tests/compute/test_compute_utils.py20
-rw-r--r--nova/tests/compute/test_keypairs.py174
-rw-r--r--nova/tests/compute/test_resource_tracker.py22
-rw-r--r--nova/tests/compute/test_rpcapi.py6
-rw-r--r--nova/tests/compute/test_virtapi.py13
-rw-r--r--nova/tests/conductor/test_conductor.py98
-rw-r--r--nova/tests/db/fakes.py16
-rw-r--r--nova/tests/db/test_db_api.py2274
-rw-r--r--nova/tests/db/test_migrations.py267
-rw-r--r--nova/tests/fake_instance.py1
-rw-r--r--nova/tests/fake_ldap.py6
-rw-r--r--nova/tests/fake_network.py5
-rw-r--r--nova/tests/fake_policy.py4
-rw-r--r--nova/tests/fakeguestfs.py8
-rw-r--r--nova/tests/image/fake.py2
-rw-r--r--nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl18
-rw-r--r--nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.xml.tpl8
-rw-r--r--nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.json.tpl6
-rw-r--r--nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.xml.tpl5
-rw-r--r--nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.json.tpl16
-rw-r--r--nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.xml.tpl15
-rw-r--r--nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.json.tpl5
-rw-r--r--nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.xml.tpl2
-rw-r--r--nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.json.tpl8
-rw-r--r--nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.xml.tpl2
-rw-r--r--nova/tests/integrated/api_samples/os-services/services-get-resp.json.tpl40
-rw-r--r--nova/tests/integrated/api_samples/os-services/services-get-resp.xml.tpl7
-rw-r--r--nova/tests/integrated/api_samples/os-tenant-networks/networks-list-res.xml.tpl13
-rw-r--r--nova/tests/integrated/api_samples/os-tenant-networks/networks-post-req.xml.tpl7
-rw-r--r--nova/tests/integrated/api_samples/os-tenant-networks/networks-post-res.xml.tpl5
-rw-r--r--nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json.tpl90
-rw-r--r--nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml.tpl37
-rw-r--r--nova/tests/integrated/test_api_samples.py93
-rw-r--r--nova/tests/network/test_api.py8
-rw-r--r--nova/tests/network/test_linux_net.py31
-rw-r--r--nova/tests/network/test_manager.py30
-rw-r--r--nova/tests/network/test_network_info.py28
-rw-r--r--nova/tests/network/test_quantumv2.py26
-rw-r--r--nova/tests/objects/test_instance.py176
-rw-r--r--nova/tests/objects/test_instance_info_cache.py54
-rw-r--r--nova/tests/objects/test_objects.py59
-rw-r--r--nova/tests/scheduler/fakes.py13
-rw-r--r--nova/tests/scheduler/test_chance_scheduler.py15
-rw-r--r--nova/tests/scheduler/test_filter_scheduler.py55
-rw-r--r--nova/tests/scheduler/test_host_filters.py20
-rw-r--r--nova/tests/scheduler/test_host_manager.py6
-rw-r--r--nova/tests/scheduler/test_rpcapi.py2
-rw-r--r--nova/tests/scheduler/test_scheduler.py67
-rw-r--r--nova/tests/scheduler/test_scheduler_options.py2
-rw-r--r--nova/tests/scheduler/test_weights.py4
-rw-r--r--nova/tests/test_availability_zones.py37
-rw-r--r--nova/tests/test_block_device.py123
-rw-r--r--nova/tests/test_cinder.py5
-rw-r--r--nova/tests/test_configdrive2.py5
-rw-r--r--nova/tests/test_flavors.py (renamed from nova/tests/test_instance_types.py)138
-rw-r--r--nova/tests/test_linuxscsi.py11
-rw-r--r--nova/tests/test_metadata.py16
-rw-r--r--nova/tests/test_notifications.py14
-rw-r--r--nova/tests/test_quota.py12
-rw-r--r--nova/tests/test_service.py3
-rw-r--r--nova/tests/test_utils.py35
-rw-r--r--nova/tests/test_wsgi.py20
-rw-r--r--nova/tests/utils.py18
-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_ipmi.py2
-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/libvirt/fakelibvirt.py1
-rw-r--r--nova/tests/virt/libvirt/test_imagebackend.py31
-rw-r--r--nova/tests/virt/libvirt/test_libvirt.py154
-rw-r--r--nova/tests/virt/libvirt/test_libvirt_blockinfo.py2
-rw-r--r--nova/tests/virt/libvirt/test_libvirt_config.py49
-rw-r--r--nova/tests/virt/libvirt/test_libvirt_volume.py27
-rw-r--r--nova/tests/virt/powervm/test_powervm.py15
-rw-r--r--nova/tests/virt/test_virt_disk.py22
-rw-r--r--nova/tests/virt/test_virt_disk_vfs_guestfs.py6
-rw-r--r--nova/tests/virt/test_virt_disk_vfs_localfs.py8
-rw-r--r--nova/tests/virt/test_virt_drivers.py10
-rw-r--r--nova/tests/virt/vmwareapi/db_fakes.py6
-rw-r--r--nova/tests/virt/vmwareapi/test_vmwareapi.py142
-rw-r--r--nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py7
-rw-r--r--nova/tests/virt/xenapi/stubs.py4
-rw-r--r--nova/tests/virt/xenapi/test_agent.py10
-rw-r--r--nova/tests/virt/xenapi/test_vm_utils.py12
-rw-r--r--nova/tests/virt/xenapi/test_vmops.py75
-rw-r--r--nova/tests/virt/xenapi/test_xenapi.py199
-rw-r--r--nova/utils.py87
-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.py3
-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.py43
-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.py2
-rwxr-xr-xnova/virt/disk/api.py8
-rw-r--r--nova/virt/disk/vfs/localfs.py8
-rwxr-xr-xnova/virt/driver.py18
-rw-r--r--nova/virt/event.py6
-rwxr-xr-xnova/virt/fake.py17
-rw-r--r--nova/virt/firewall.py18
-rw-r--r--nova/virt/hyperv/hostops.py6
-rw-r--r--nova/virt/hyperv/imagecache.py2
-rwxr-xr-xnova/virt/images.py72
-rw-r--r--nova/virt/libvirt/blockinfo.py26
-rw-r--r--nova/virt/libvirt/config.py16
-rw-r--r--nova/virt/libvirt/designer.py18
-rwxr-xr-xnova/virt/libvirt/driver.py414
-rw-r--r--nova/virt/libvirt/firewall.py12
-rwxr-xr-xnova/virt/libvirt/imagebackend.py31
-rwxr-xr-xnova/virt/libvirt/utils.py10
-rw-r--r--nova/virt/libvirt/vif.py36
-rw-r--r--nova/virt/libvirt/volume.py21
-rw-r--r--nova/virt/powervm/blockdev.py2
-rwxr-xr-xnova/virt/powervm/driver.py11
-rw-r--r--nova/virt/virtapi.py14
-rwxr-xr-xnova/virt/vmwareapi/driver.py22
-rw-r--r--nova/virt/vmwareapi/fake.py74
-rw-r--r--nova/virt/vmwareapi/host.py11
-rw-r--r--nova/virt/vmwareapi/io_util.py22
-rw-r--r--nova/virt/vmwareapi/read_write_util.py7
-rw-r--r--nova/virt/vmwareapi/vm_util.py29
-rw-r--r--nova/virt/vmwareapi/vmops.py133
-rw-r--r--nova/virt/vmwareapi/vmware_images.py3
-rw-r--r--nova/virt/xenapi/agent.py188
-rwxr-xr-xnova/virt/xenapi/driver.py33
-rw-r--r--nova/virt/xenapi/fake.py49
-rw-r--r--nova/virt/xenapi/firewall.py4
-rw-r--r--nova/virt/xenapi/host.py50
-rw-r--r--nova/virt/xenapi/imageupload/glance.py7
-rw-r--r--nova/virt/xenapi/pool.py24
-rw-r--r--nova/virt/xenapi/vif.py11
-rw-r--r--nova/virt/xenapi/vm_utils.py147
-rw-r--r--nova/virt/xenapi/vmops.py139
-rw-r--r--nova/virt/xenapi/volume_utils.py16
-rw-r--r--nova/virt/xenapi/volumeops.py23
-rw-r--r--nova/vnc/xvp_proxy.py5
-rw-r--r--nova/wsgi.py3
-rw-r--r--openstack-common.conf2
-rw-r--r--plugins/xenserver/xenapi/contrib/rpmbuild/SPECS/openstack-xen-plugins.spec1
-rwxr-xr-xplugins/xenserver/xenapi/etc/xapi.d/plugins/console80
-rwxr-xr-xplugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py8
-rw-r--r--requirements.txt5
-rw-r--r--setup.cfg2
-rw-r--r--setup.py2
-rw-r--r--smoketests/base.py2
-rw-r--r--smoketests/public_network_smoketests.py2
-rw-r--r--smoketests/test_sysadmin.py1
-rw-r--r--test-requirements.txt3
-rwxr-xr-xtools/conf/analyze_opts.py4
-rwxr-xr-xtools/conf/generate_sample.sh20
-rwxr-xr-xtools/xenserver/rotate_xen_guest_logs.sh62
-rw-r--r--tox.ini2
385 files changed, 89304 insertions, 63975 deletions
diff --git a/.mailmap b/.mailmap
index 314596aa1..885f3da58 100644
--- a/.mailmap
+++ b/.mailmap
@@ -88,6 +88,7 @@ Dan Wendlandt <dan@nicira.com> danwent@gmail.com <>
Dan Wendlandt <dan@nicira.com> danwent@gmail.com <dan@nicira.com>
Davanum Srinivas <dims@linux.vnet.ibm.com> Davanum Srinivas <davanum@gmail.com>
Édouard Thuleau <edouard.thuleau@orange.com> Thuleau Édouard <thuleau@gmail.com>
+Ethan Chu <xychu2008@gmail.com> <xchu@redhat.com>
Jake Dahn <jake@ansolabs.com> jakedahn <jake@ansolabs.com>
Jason Koelker <jason@koelker.net> Jason Kölker <jason@koelker.net>
Jay Pipes <jaypipes@gmail.com> jaypipes@gmail.com <>
@@ -123,5 +124,5 @@ Vishvananda Ishaya <vishvananda@gmail.com> <root@mirror.nasanebula.net>
Vishvananda Ishaya <vishvananda@gmail.com> <root@ubuntu>
Vivek YS <vivek.ys@gmail.com> Vivek YS vivek.ys@gmail.com <>
Yaguang Tang <yaguang.tang@canonical.com> <heut2008@gmail.com>
+Yolanda Robla <yolanda.robla@canonical.com> yolanda.robla <yolanda.robla@canonical.com>
Zhongyue Luo <zhongyue.nah@intel.com> <lzyeval@gmail.com>
-Ethan Chu <xychu2008@gmail.com> <xchu@redhat.com>
diff --git a/HACKING.rst b/HACKING.rst
index b29361a8d..082beb87d 100644
--- a/HACKING.rst
+++ b/HACKING.rst
@@ -261,19 +261,40 @@ run --parallel` will run it in parallel (this is the default incantation tox
uses.) More information about testr can be found at:
http://wiki.openstack.org/testr
+Building Docs
+-------------
+Normal Sphinx docs can be built via the setuptools `build_sphinx` command. To
+do this via `tox`, simply run `tox -evenv -- python setup.py build_sphinx`,
+which will cause a virtualenv with all of the needed dependencies to be
+created and then inside of the virtualenv, the docs will be created and
+put into doc/build/html.
+
+If you'd like a PDF of the documentation, you'll need LaTeX installed, and
+additionally some fonts. On Ubuntu systems, you can get what you need with::
+
+ apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
+
+Then run `build_sphinx_latex`, change to the build dir and run `make`.
+Like so::
+
+ tox -evenv -- python setup.py build_sphinx_latex
+ cd build/sphinx/latex
+ make
+
+You should wind up with a PDF - Nova.pdf.
-openstack-common
+oslo-incubator
----------------
-A number of modules from openstack-common are imported into the project.
+A number of modules from oslo-incubator are imported into the project.
-These modules are "incubating" in openstack-common and are kept in sync
-with the help of openstack-common's update.py script. See:
+These modules are "incubating" in oslo-incubator and are kept in sync
+with the help of oslo's update.py script. See:
- http://wiki.openstack.org/CommonLibrary#Incubation
+ https://wiki.openstack.org/wiki/Oslo#Incubation
The copy of the code should never be directly modified here. Please
-always update openstack-common first and then run the script to copy
+always update oslo-incubator first and then run the script to copy
the changes across.
OpenStack Trademark
diff --git a/doc/api_samples/all_extensions/extensions-get-resp.json b/doc/api_samples/all_extensions/extensions-get-resp.json
index b4323b097..1f6d762df 100644
--- a/doc/api_samples/all_extensions/extensions-get-resp.json
+++ b/doc/api_samples/all_extensions/extensions-get-resp.json
@@ -426,11 +426,11 @@
},
{
"alias": "os-extended-quotas",
- "description": "Adds ability for admins to delete quota",
+ "description": "Adds ability for admins to delete quota and optionally force the update Quota command.",
"links": [],
"name": "ExtendedQuotas",
- "namespace": "http://docs.openstack.org/compute/ext/quota-delete/api/v1.1",
- "updated": "2013-05-23T00:00:00+00:00"
+ "namespace": "http://docs.openstack.org/compute/ext/extended_quotas/api/v1.1",
+ "updated": "2013-06-09T00:00:00+00:00"
},
{
"alias": "os-quota-sets",
@@ -497,6 +497,14 @@
"updated": "2012-10-28T00:00:00-00:00"
},
{
+ "alias": "os-extended-services",
+ "description": "Extended services support.",
+ "links": [],
+ "name": "ExtendedServices",
+ "namespace": "http://docs.openstack.org/compute/ext/extended_services/api/v2",
+ "updated": "2013-05-17T00:00:00-00:00"
+ },
+ {
"alias": "os-simple-tenant-usage",
"description": "Simple tenant usage extension.",
"links": [],
@@ -521,6 +529,14 @@
"updated": "2012-07-13T00:00:00+00:00"
},
{
+ "alias": "os-used-limits-for-admin",
+ "description": "Provide data to admin on limited resources used by other tenants.",
+ "links": [],
+ "name": "UsedLimitsForAdmin",
+ "namespace": "http://docs.openstack.org/compute/ext/used_limits_for_admin/api/v1.1",
+ "updated": "2013-05-02T00:00:00+00:00"
+ },
+ {
"alias": "os-user-data",
"description": "Add user_data to the Create Server v1.1 API.",
"links": [],
diff --git a/doc/api_samples/all_extensions/extensions-get-resp.xml b/doc/api_samples/all_extensions/extensions-get-resp.xml
index 26361e719..a2136fada 100644
--- a/doc/api_samples/all_extensions/extensions-get-resp.xml
+++ b/doc/api_samples/all_extensions/extensions-get-resp.xml
@@ -177,8 +177,8 @@
<extension alias="os-quota-class-sets" updated="2012-03-12T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1" name="QuotaClasses">
<description>Quota classes management support.</description>
</extension>
- <extension alias="os-extended-quotas" updated="2013-05-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quota-delete/api/v1.1" name="ExtendedQuotas">
- <description>Adds ability for admins to delete quota.</description>
+ <extension alias="os-extended-quotas" updated="2013-06-09T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/extended_quotas/api/v1.1" name="ExtendedQuotas">
+ <description>Adds ability for admins to delete quota and optionally force the update Quota command.</description>
</extension>
<extension alias="os-quota-sets" updated="2011-08-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1" name="Quotas">
<description>Quotas management support.</description>
@@ -204,6 +204,9 @@
<extension alias="os-services" updated="2012-10-28T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/services/api/v2" name="Services">
<description>Services support.</description>
</extension>
+ <extension alias="os-extended-services" updated="2013-05-17T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/extended_services/api/v2" name="ExtendedServices">
+ <description>Extended services support.</description>
+ </extension>
<extension alias="os-simple-tenant-usage" updated="2011-08-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-simple-tenant-usage/api/v1.1" name="SimpleTenantUsage">
<description>Simple tenant usage extension.</description>
</extension>
@@ -213,6 +216,9 @@
<extension alias="os-used-limits" updated="2012-07-13T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" name="UsedLimits">
<description>Provide data on limited resources that are being used.</description>
</extension>
+ <extension alias="os-used-limits-for-admin" updated="2013-05-02T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/used_limits_for_admin/api/v1.1" name="UsedLimitsForAdmin">
+ <description>Provide data to admin on limited resources used by other tenants.</description>
+ </extension>
<extension alias="os-user-data" updated="2012-08-07T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/userdata/api/v1.1" name="UserData">
<description>Add user_data to the Create Server v1.1 API.</description>
</extension>
diff --git a/doc/api_samples/os-extended-quotas/quotas-update-post-req.json b/doc/api_samples/os-extended-quotas/quotas-update-post-req.json
new file mode 100644
index 000000000..a58a17912
--- /dev/null
+++ b/doc/api_samples/os-extended-quotas/quotas-update-post-req.json
@@ -0,0 +1,6 @@
+{
+ "quota_set": {
+ "force": "True",
+ "instances": 45
+ }
+}
diff --git a/doc/api_samples/os-extended-quotas/quotas-update-post-req.xml b/doc/api_samples/os-extended-quotas/quotas-update-post-req.xml
new file mode 100644
index 000000000..499b890f0
--- /dev/null
+++ b/doc/api_samples/os-extended-quotas/quotas-update-post-req.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<quota_set id="fake_tenant">
+ <force>True</force>
+ <instances>45</instances>
+</quota_set> \ No newline at end of file
diff --git a/doc/api_samples/os-extended-quotas/quotas-update-post-resp.json b/doc/api_samples/os-extended-quotas/quotas-update-post-resp.json
new file mode 100644
index 000000000..d9024b77d
--- /dev/null
+++ b/doc/api_samples/os-extended-quotas/quotas-update-post-resp.json
@@ -0,0 +1,16 @@
+{
+ "quota_set": {
+ "cores": 20,
+ "fixed_ips": -1,
+ "floating_ips": 10,
+ "injected_file_content_bytes": 10240,
+ "injected_file_path_bytes": 255,
+ "injected_files": 5,
+ "instances": 45,
+ "key_pairs": 100,
+ "metadata_items": 128,
+ "ram": 51200,
+ "security_group_rules": 20,
+ "security_groups": 10
+ }
+}
diff --git a/doc/api_samples/os-extended-quotas/quotas-update-post-resp.xml b/doc/api_samples/os-extended-quotas/quotas-update-post-resp.xml
new file mode 100644
index 000000000..cd1b80ba0
--- /dev/null
+++ b/doc/api_samples/os-extended-quotas/quotas-update-post-resp.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<quota_set>
+ <cores>20</cores>
+ <fixed_ips>-1</fixed_ips>
+ <floating_ips>10</floating_ips>
+ <injected_file_content_bytes>10240</injected_file_content_bytes>
+ <injected_file_path_bytes>255</injected_file_path_bytes>
+ <injected_files>5</injected_files>
+ <instances>45</instances>
+ <key_pairs>100</key_pairs>
+ <metadata_items>128</metadata_items>
+ <ram>51200</ram>
+ <security_group_rules>20</security_group_rules>
+ <security_groups>10</security_groups>
+</quota_set>
diff --git a/doc/api_samples/os-services/service-disable-log-put-req.json b/doc/api_samples/os-services/service-disable-log-put-req.json
new file mode 100644
index 000000000..6ccc5524e
--- /dev/null
+++ b/doc/api_samples/os-services/service-disable-log-put-req.json
@@ -0,0 +1,5 @@
+{
+ "host": "host1",
+ "binary": "nova-compute",
+ "disabled_reason": "test2"
+}
diff --git a/doc/api_samples/os-services/service-disable-log-put-req.xml b/doc/api_samples/os-services/service-disable-log-put-req.xml
new file mode 100644
index 000000000..f8eec8173
--- /dev/null
+++ b/doc/api_samples/os-services/service-disable-log-put-req.xml
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<service host="host1" binary="nova-compute" disabled_reason="test2"/>
diff --git a/doc/api_samples/os-services/service-disable-log-put-resp.json b/doc/api_samples/os-services/service-disable-log-put-resp.json
new file mode 100644
index 000000000..c82bc54c3
--- /dev/null
+++ b/doc/api_samples/os-services/service-disable-log-put-resp.json
@@ -0,0 +1,8 @@
+{
+ "service": {
+ "binary": "nova-compute",
+ "host": "host1",
+ "disabled_reason": "test2",
+ "status": "disabled"
+ }
+}
diff --git a/doc/api_samples/os-services/service-disable-log-put-resp.xml b/doc/api_samples/os-services/service-disable-log-put-resp.xml
new file mode 100644
index 000000000..1ddf273b1
--- /dev/null
+++ b/doc/api_samples/os-services/service-disable-log-put-resp.xml
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<service host="host1" binary="nova-compute" status="disabled" disabled_reason="test2" />
diff --git a/doc/api_samples/os-services/service-enable-put-req.json b/doc/api_samples/os-services/service-enable-put-req.json
index ffe896999..f96d34536 100644
--- a/doc/api_samples/os-services/service-enable-put-req.json
+++ b/doc/api_samples/os-services/service-enable-put-req.json
@@ -1,4 +1,4 @@
{
"host": "host1",
- "service": "nova-compute"
+ "binary": "nova-compute"
}
diff --git a/doc/api_samples/os-services/services-get-resp.json b/doc/api_samples/os-services/services-get-resp.json
new file mode 100644
index 000000000..4c873d636
--- /dev/null
+++ b/doc/api_samples/os-services/services-get-resp.json
@@ -0,0 +1,40 @@
+{
+ "services": [
+ {
+ "binary": "nova-scheduler",
+ "host": "host1",
+ "state": "up",
+ "status": "disabled",
+ "updated_at": "2012-10-29T13:42:02.000000",
+ "zone": "internal",
+ "disabled_reason": "test1"
+ },
+ {
+ "binary": "nova-compute",
+ "host": "host1",
+ "state": "up",
+ "status": "disabled",
+ "updated_at": "2012-10-29T13:42:05.000000",
+ "zone": "nova",
+ "disabled_reason": "test2"
+ },
+ {
+ "binary": "nova-scheduler",
+ "host": "host2",
+ "state": "down",
+ "status": "enabled",
+ "updated_at": "2012-09-19T06:55:34.000000",
+ "zone": "internal",
+ "disabled_reason": ""
+ },
+ {
+ "binary": "nova-compute",
+ "host": "host2",
+ "state": "down",
+ "status": "disabled",
+ "updated_at": "2012-09-18T08:03:38.000000",
+ "zone": "nova",
+ "disabled_reason": "test4"
+ }
+ ]
+}
diff --git a/doc/api_samples/os-services/services-get-resp.xml b/doc/api_samples/os-services/services-get-resp.xml
new file mode 100644
index 000000000..997fc3945
--- /dev/null
+++ b/doc/api_samples/os-services/services-get-resp.xml
@@ -0,0 +1,6 @@
+<services>
+ <service status="disabled" binary="nova-scheduler" zone="internal" state="up" host="host1" updated_at="2012-10-29T13:42:02.000000" disabled_reason="test1"/>
+ <service status="disabled" binary="nova-compute" zone="nova" state="up" host="host1" updated_at="2012-10-29T13:42:05.000000" disabled_reason="test2"/>
+ <service status="enabled" binary="nova-scheduler" zone="internal" state="down" host="host2" updated_at="2012-09-19T06:55:34.000000" disabled_reason=""/>
+ <service status="disabled" binary="nova-compute" zone="nova" state="down" host="host2" updated_at="2012-09-18T08:03:38.000000" disabled_reason="test4"/>
+</services>
diff --git a/doc/api_samples/os-tenant-networks/networks-list-res.xml b/doc/api_samples/os-tenant-networks/networks-list-res.xml
new file mode 100644
index 000000000..6aaeec85b
--- /dev/null
+++ b/doc/api_samples/os-tenant-networks/networks-list-res.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<networks>
+ <network>
+ <cidr>10.0.0.0/29</cidr>
+ <id>cf3fb0f1-9967-4dac-8284-2d103e904099</id>
+ <label>test_0</label>
+ </network>
+ <network>
+ <cidr>10.0.0.8/29</cidr>
+ <id>434385bc-a7ac-4778-b295-56f8134fddbc</id>
+ <label>test_1</label>
+ </network>
+</networks> \ No newline at end of file
diff --git a/doc/api_samples/os-tenant-networks/networks-post-req.xml b/doc/api_samples/os-tenant-networks/networks-post-req.xml
new file mode 100644
index 000000000..f4c06aa9d
--- /dev/null
+++ b/doc/api_samples/os-tenant-networks/networks-post-req.xml
@@ -0,0 +1,7 @@
+<network>
+ <label>public</label>
+ <cidr>172.0.0.0/24</cidr>
+ <vlan_start>1</vlan_start>
+ <num_networks>1</num_networks>
+ <network_size>255</network_size>
+</network> \ No newline at end of file
diff --git a/doc/api_samples/os-tenant-networks/networks-post-res.xml b/doc/api_samples/os-tenant-networks/networks-post-res.xml
new file mode 100644
index 000000000..7bbc6a4b6
--- /dev/null
+++ b/doc/api_samples/os-tenant-networks/networks-post-res.xml
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<network>
+ <cidr>172.0.0.0/24</cidr>
+ <id>9ac30188-57d8-4349-94d1-dbad63b20e4d</id>
+ <label>public</label>
+</network> \ No newline at end of file
diff --git a/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json b/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json
new file mode 100644
index 000000000..c5593b7e7
--- /dev/null
+++ b/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json
@@ -0,0 +1,90 @@
+{
+ "limits": {
+ "absolute": {
+ "maxImageMeta": 128,
+ "maxPersonality": 5,
+ "maxPersonalitySize": 10240,
+ "maxSecurityGroupRules": 20,
+ "maxSecurityGroups": 10,
+ "maxServerMeta": 128,
+ "maxTotalCores": 20,
+ "maxTotalFloatingIps": 10,
+ "maxTotalInstances": 10,
+ "maxTotalKeypairs": 100,
+ "maxTotalRAMSize": 51200,
+ "totalCoresUsed": 0,
+ "totalInstancesUsed": 0,
+ "totalRAMUsed": 0,
+ "totalSecurityGroupsUsed": 0,
+ "totalFloatingIpsUsed": 0
+ },
+ "rate": [
+ {
+ "limit": [
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "POST"
+ },
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "PUT"
+ },
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 100,
+ "unit": "MINUTE",
+ "value": 100,
+ "verb": "DELETE"
+ }
+ ],
+ "regex": ".*",
+ "uri": "*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 50,
+ "unit": "DAY",
+ "value": 50,
+ "verb": "POST"
+ }
+ ],
+ "regex": "^/servers",
+ "uri": "*/servers"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 3,
+ "unit": "MINUTE",
+ "value": 3,
+ "verb": "GET"
+ }
+ ],
+ "regex": ".*changes-since.*",
+ "uri": "*changes-since*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "2012-11-27T17:24:52Z",
+ "remaining": 12,
+ "unit": "HOUR",
+ "value": 12,
+ "verb": "GET"
+ }
+ ],
+ "regex": "^/os-fping",
+ "uri": "*/os-fping"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml b/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml
new file mode 100644
index 000000000..c2b0572e5
--- /dev/null
+++ b/doc/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
+ <rates>
+ <rate regex=".*" uri="*">
+ <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="POST" remaining="10" value="10"/>
+ <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="PUT" remaining="10" value="10"/>
+ <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="DELETE" remaining="100" value="100"/>
+ </rate>
+ <rate regex="^/servers" uri="*/servers">
+ <limit next-available="2012-11-27T17:24:53Z" unit="DAY" verb="POST" remaining="50" value="50"/>
+ </rate>
+ <rate regex=".*changes-since.*" uri="*changes-since*">
+ <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="GET" remaining="3" value="3"/>
+ </rate>
+ <rate regex="^/os-fping" uri="*/os-fping">
+ <limit next-available="2012-11-27T17:24:53Z" unit="HOUR" verb="GET" remaining="12" value="12"/>
+ </rate>
+ </rates>
+ <absolute>
+ <limit name="maxServerMeta" value="128"/>
+ <limit name="maxPersonality" value="5"/>
+ <limit name="maxImageMeta" value="128"/>
+ <limit name="maxPersonalitySize" value="10240"/>
+ <limit name="maxSecurityGroupRules" value="20"/>
+ <limit name="maxTotalKeypairs" value="100"/>
+ <limit name="totalRAMUsed" value="0"/>
+ <limit name="totalInstancesUsed" value="0"/>
+ <limit name="maxSecurityGroups" value="10"/>
+ <limit name="totalFloatingIpsUsed" value="0"/>
+ <limit name="maxTotalCores" value="20"/>
+ <limit name="totalSecurityGroupsUsed" value="0"/>
+ <limit name="maxTotalFloatingIps" value="10"/>
+ <limit name="maxTotalInstances" value="10"/>
+ <limit name="totalCoresUsed" value="0"/>
+ <limit name="maxTotalRAMSize" value="51200"/>
+ </absolute>
+</limits> \ No newline at end of file
diff --git a/doc/source/devref/compute.rst b/doc/source/devref/compute.rst
index 50397cbec..00da777e8 100644
--- a/doc/source/devref/compute.rst
+++ b/doc/source/devref/compute.rst
@@ -64,10 +64,10 @@ The :mod:`nova.virt.images` Module
:show-inheritance:
-The :mod:`nova.compute.instance_types` Module
+The :mod:`nova.compute.flavors` Module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. automodule:: nova.compute.instance_types
+.. automodule:: nova.compute.flavors
:noindex:
:members:
:undoc-members:
diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample
index 29778a556..9e095cb29 100644
--- a/etc/nova/nova.conf.sample
+++ b/etc/nova/nova.conf.sample
@@ -52,15 +52,6 @@
#
-# Options defined in nova.manager
-#
-
-# Some periodic tasks can be run in a separate process. Should
-# we run them here? (boolean value)
-#run_external_periodic_tasks=true
-
-
-#
# Options defined in nova.netconf
#
@@ -82,6 +73,13 @@
#
# If set, send compute.instance.update notifications on
+# instance state changes. Valid values are None for no
+# notifications, "vm_state" for notifications on VM state
+# changes, or "vm_and_task_state" for notifications on VM and
+# task state changes. (string value)
+#notify_on_state_change=<None>
+
+# If set, send compute.instance.update notifications on
# instance state changes. Valid values are False for no
# notifications, True for notifications on any instance
# changes. (boolean value)
@@ -91,13 +89,6 @@
# the API service. (boolean value)
#notify_api_faults=false
-# If set, send compute.instance.update notifications on
-# instance state changes. Valid values are None for no
-# notifications, "vm_state" for notifications on VM state
-# changes, or "vm_and_task_state" for notifications on VM and
-# task state changes. (string value)
-#notify_on_state_change=<None>
-
#
# Options defined in nova.paths
@@ -143,6 +134,10 @@
# number of floating ips allowed per project (integer value)
#quota_floating_ips=10
+# number of fixed ips allowed per project (this should be at
+# least the number of instances allowed) (integer value)
+#quota_fixed_ips=-1
+
# number of metadata items allowed per instance (integer
# value)
#quota_metadata_items=128
@@ -276,9 +271,6 @@
# Length of generated instance admin passwords (integer value)
#password_length=12
-# Whether to disable inter-process locks (boolean value)
-#disable_process_locking=false
-
# time period to generate instance usages for. Time period
# must be hour, day, month or year (string value)
#instance_usage_audit_period=month
@@ -523,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
@@ -541,19 +533,73 @@
#
-# Options defined in nova.common.memorycache
+# Options defined in nova.cmd.clear_rabbit_queues
#
-# Memcached servers or None for in process cache. (list value)
-#memcached_servers=<None>
+# Queues to delete (multi valued)
+#queues=
+
+# delete nova exchange too. (boolean value)
+#delete_exchange=false
#
-# Options defined in nova.compute
+# Options defined in nova.cmd.novnc
+#
+
+# Record sessions to FILE.[session_number] (boolean value)
+#record=false
+
+# Become a daemon (background process) (boolean value)
+#daemon=false
+
+# Disallow non-encrypted connections (boolean value)
+#ssl_only=false
+
+# Source is ipv6 (boolean value)
+#source_is_ipv6=false
+
+# SSL certificate file (string value)
+#cert=self.pem
+
+# SSL key file (if separate from cert) (string value)
+#key=<None>
+
+# Run webserver on same port. Serve files from DIR. (string
+# value)
+#web=/usr/share/spice-html5
+
+
+#
+# Options defined in nova.cmd.novncproxy
#
-# The full class name of the compute API class to use (string
+# Host on which to listen for incoming requests (string value)
+#novncproxy_host=0.0.0.0
+
+# Port on which to listen for incoming requests (integer
# value)
+#novncproxy_port=6080
+
+
+#
+# Options defined in nova.cmd.spicehtml5proxy
+#
+
+# Host on which to listen for incoming requests (string value)
+#spicehtml5proxy_host=0.0.0.0
+
+# Port on which to listen for incoming requests (integer
+# value)
+#spicehtml5proxy_port=6082
+
+
+#
+# Options defined in nova.compute
+#
+
+# The full class name of the compute API class to use
+# (deprecated) (string value)
#compute_api_class=nova.compute.api.API
@@ -565,6 +611,10 @@
# when testing in single-host environments. (boolean value)
#allow_resize_to_same_host=false
+# Allow migrate machine to the same host. Useful when testing
+# in single-host environments. (boolean value)
+#allow_migrate_to_same_host=false
+
# availability zone to use when user doesn't specify one
# (string value)
#default_schedule_zone=<None>
@@ -588,11 +638,11 @@
#
-# Options defined in nova.compute.instance_types
+# 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
#
@@ -630,6 +680,10 @@
# interval to pull bandwidth usage info (integer value)
#bandwidth_poll_interval=600
+# interval to sync power states between the database and the
+# hypervisor (integer value)
+#sync_power_state_interval=600
+
# Number of seconds between instance info_cache self healing
# updates (integer value)
#heal_instance_info_cache_interval=60
@@ -1046,6 +1100,10 @@
# be on the bottom. (string value)
#iptables_bottom_regex=
+# The table that iptables to jump to when a packet is to be
+# dropped. (string value)
+#iptables_drop_action=DROP
+
#
# Options defined in nova.network.manager
@@ -1083,7 +1141,9 @@
# Number of addresses in each private subnet (integer value)
#network_size=256
-# Fixed IP address block (string value)
+# DEPRECATED - Fixed IP address block.If set to an empty
+# string, the subnet range(s) will be automatically determined
+# and configured. (string value)
#fixed_range=10.0.0.0/8
# Fixed IPv6 address block (string value)
@@ -1210,50 +1270,6 @@
# The full class name of the security API class (string value)
#security_group_api=nova
-#
-# Options defined in bin.nova-clear-rabbit-queues
-#
-
-# Queues to delete (multi valued)
-#queues=
-
-# delete nova exchange too. (boolean value)
-#delete_exchange=false
-
-
-#
-# Options defined in bin.nova-novncproxy
-#
-
-# Record sessions to FILE.[session_number] (boolean value)
-#record=false
-
-# Become a daemon (background process) (boolean value)
-#daemon=false
-
-# Disallow non-encrypted connections (boolean value)
-#ssl_only=false
-
-# Source is ipv6 (boolean value)
-#source_is_ipv6=false
-
-# SSL certificate file (string value)
-#cert=self.pem
-
-# SSL key file (if separate from cert) (string value)
-#key=<None>
-
-# Run webserver on same port. Serve files from DIR. (string
-# value)
-#web=/usr/share/novnc
-
-# Host on which to listen for incoming requests (string value)
-#novncproxy_host=0.0.0.0
-
-# Port on which to listen for incoming requests (integer
-# value)
-#novncproxy_port=6080
-
#
# Options defined in nova.objectstore.s3server
@@ -1287,7 +1303,7 @@
# The SQLAlchemy connection string used to connect to the
# database (string value)
-#sql_connection=sqlite:////nova/openstack/common/db/$sqlite_db
+#sql_connection=sqlite:////common/db/$sqlite_db
# the filename to use with sqlite (string value)
#sqlite_db=nova.sqlite
@@ -1363,13 +1379,9 @@
# Log output to standard error (boolean value)
#use_stderr=true
-# Default file mode used when creating log files (string
-# value)
-#logfile_mode=0644
-
# format string to use for log messages with context (string
# value)
-#logging_context_format_string=%(asctime)s.%(msecs)03d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
+#logging_context_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
# format string to use for log messages without context
# (string value)
@@ -1408,20 +1420,22 @@
#log_config=<None>
# A logging.Formatter log message format string which may use
-# any of the available logging.LogRecord attributes. Default:
-# %(default)s (string value)
-#log_format=%(asctime)s %(levelname)8s [%(name)s] %(message)s
+# any of the available logging.LogRecord attributes. This
+# option is deprecated. Please use
+# logging_context_format_string and
+# logging_default_format_string instead. (string value)
+#log_format=<None>
# Format string for %%(asctime)s in log records. Default:
# %(default)s (string value)
#log_date_format=%Y-%m-%d %H:%M:%S
-# (Optional) Name of log file to output to. If not set,
-# logging will go to stdout. (string value)
+# (Optional) Name of log file to output to. If no default is
+# set, logging will go to stdout. (string value)
#log_file=<None>
-# (Optional) The directory to keep log files in (will be
-# prepended to --log-file) (string value)
+# (Optional) The base directory used for relative --log-file
+# paths (string value)
#log_dir=<None>
# Use syslog for logging. (boolean value)
@@ -1432,6 +1446,14 @@
#
+# Options defined in nova.openstack.common.memorycache
+#
+
+# Memcached servers or None for in process cache. (list value)
+#memcached_servers=<None>
+
+
+#
# Options defined in nova.openstack.common.notifier.api
#
@@ -1457,6 +1479,15 @@
#
+# Options defined in nova.openstack.common.periodic_task
+#
+
+# Some periodic tasks can be run in a separate process. Should
+# we run them here? (boolean value)
+#run_external_periodic_tasks=true
+
+
+#
# Options defined in nova.openstack.common.rpc
#
@@ -1569,7 +1600,7 @@
# Qpid broker hostname (string value)
#qpid_hostname=localhost
-# Qpid broker port (string value)
+# Qpid broker port (integer value)
#qpid_port=5672
# Qpid HA cluster host:port pairs (list value)
@@ -1624,7 +1655,7 @@
# Name of this node. Must be a valid hostname, FQDN, or IP
# address. Must match "host" option, if running Nova. (string
# value)
-#rpc_zmq_host=sorcha
+#rpc_zmq_host=nova
#
@@ -1634,6 +1665,12 @@
# Matchmaker ring file (JSON) (string value)
#matchmaker_ringfile=/etc/nova/matchmaker_ring.json
+# Heartbeat frequency (integer value)
+#matchmaker_heartbeat_freq=300
+
+# Heartbeat time-to-live. (integer value)
+#matchmaker_heartbeat_ttl=600
+
#
# Options defined in nova.scheduler.driver
@@ -1743,17 +1780,6 @@
#
-# Options defined in nova.scheduler.multi
-#
-
-# Driver to use for scheduling compute calls (string value)
-#compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
-
-# Default driver to use for scheduling calls (string value)
-#default_scheduler_driver=nova.scheduler.chance.ChanceScheduler
-
-
-#
# Options defined in nova.scheduler.rpcapi
#
@@ -1771,24 +1797,6 @@
#
-# Options defined in nova.scheduler.weights.least_cost
-#
-
-# Which cost functions the LeastCostScheduler should use (list
-# value)
-#least_cost_functions=<None>
-
-# How much weight to give the noop cost function (floating
-# point value)
-#noop_cost_fn_weight=1.0
-
-# How much weight to give the fill-first cost function. A
-# negative value will reverse behavior: e.g. spread-first
-# (floating point value)
-#compute_fill_first_cost_fn_weight=<None>
-
-
-#
# Options defined in nova.scheduler.weights.ram
#
@@ -1856,7 +1864,8 @@
# Driver to use for controlling virtualization. Options
# include: libvirt.LibvirtDriver, xenapi.XenAPIDriver,
# fake.FakeDriver, baremetal.BareMetalDriver,
-# vmwareapi.VMWareESXDriver (string value)
+# vmwareapi.VMwareESXDriver, vmwareapi.VMwareVCDriver (string
+# value)
#compute_driver=<None>
# The default format an ephemeral_volume will be formatted
@@ -1886,52 +1895,6 @@
#
-# Options defined in nova.virt.hyperv.vif
-#
-
-# External virtual switch Name, if not provided, the first
-# external virtual switch is used (string value)
-#vswitch_name=<None>
-
-
-#
-# Options defined in nova.virt.hyperv.vmops
-#
-
-# Required for live migration among hosts with different CPU
-# features (boolean value)
-#limit_cpu_features=false
-
-# Sets the admin password in the config drive image (boolean
-# value)
-#config_drive_inject_password=false
-
-# qemu-img is used to convert between different image types
-# (string value)
-#qemu_img_cmd=qemu-img.exe
-
-# Attaches the Config Drive image as a cdrom drive instead of
-# a disk drive (boolean value)
-#config_drive_cdrom=false
-
-
-#
-# Options defined in nova.virt.hyperv.volumeops
-#
-
-# The number of times we retry on attaching volume (integer
-# value)
-#hyperv_attaching_volume_retry_count=10
-
-# The seconds to wait between an volume attachment attempt
-# (integer value)
-#hyperv_wait_between_attach_retry=5
-
-# Force volumeutils v1 (boolean value)
-#force_volumeutils_v1=false
-
-
-#
# Options defined in nova.virt.images
#
@@ -2040,6 +2003,10 @@
# ["file=directsync","block=none"] (list value)
#disk_cachemodes=
+# Which pcpus can be used by vcpus of instance e.g:
+# "4-12,^8,15" (string value)
+#vcpu_pin_set=<None>
+
#
# Options defined in nova.virt.libvirt.imagebackend
@@ -2252,7 +2219,8 @@
#
# Optional VIM Service WSDL Location e.g
-# http://<server>/vimService.wsdl
+# http://<server>/vimService.wsdl. Optional over-ride to
+# default location for bug work-arounds (string value)
#vmwareapi_wsdl_loc=<None>
@@ -2278,11 +2246,18 @@
# (string value)
#xenapi_agent_path=usr/sbin/xe-update-networking
-# Disable XenAPI agent. Reduces the amount of time it takes
-# nova to detect that a VM has started, when that VM does not
-# have the agent installed (boolean value)
+# Disables the use of the XenAPI agent in any image regardless
+# of what image properties are present. (boolean value)
#xenapi_disable_agent=false
+# Determines if the xenapi agent should be used when the image
+# used does not contain a hint to declare if the agent is
+# present or not. The hint is a glance property
+# "xenapi_use_agent" that has the value "true" or "false".
+# Note that waiting for the agent when it is not present will
+# significantly increase server boot times. (boolean value)
+#xenapi_use_agent_default=false
+
#
# Options defined in nova.virt.xenapi.driver
@@ -2513,8 +2488,8 @@
# region name of this node (string value)
#os_region_name=<None>
-# Allow for a ca certificates file to be specified for cinder
-# client requests (string value)
+# Location of ca certicates file to use for cinder client
+# requests. (string value)
#cinder_ca_certificates_file=<None>
# Number of cinderclient retries on failed http calls (integer
@@ -2530,7 +2505,7 @@
#cinder_cross_az_attach=true
-[HYPERV]
+[hyperv]
#
# Options defined in nova.virt.hyperv.pathutils
@@ -2544,6 +2519,71 @@
#instances_path_share=
+#
+# Options defined in nova.virt.hyperv.vif
+#
+
+# External virtual switch Name, if not provided, the first
+# external virtual switch is used (string value)
+#vswitch_name=<None>
+
+
+#
+# Options defined in nova.virt.hyperv.vmops
+#
+
+# Required for live migration among hosts with different CPU
+# features (boolean value)
+#limit_cpu_features=false
+
+# Sets the admin password in the config drive image (boolean
+# value)
+#config_drive_inject_password=false
+
+# qemu-img is used to convert between different image types
+# (string value)
+#qemu_img_cmd=qemu-img.exe
+
+# Attaches the Config Drive image as a cdrom drive instead of
+# a disk drive (boolean value)
+#config_drive_cdrom=false
+
+
+#
+# Options defined in nova.virt.hyperv.volumeops
+#
+
+# The number of times to retry to attach a volume (integer
+# value)
+#volume_attach_retry_count=10
+
+# Interval between volume attachment attempts, in seconds
+# (integer value)
+#volume_attach_retry_interval=5
+
+# Force volumeutils v1 (boolean value)
+#force_volumeutils_v1=false
+
+
+[osapi_v3]
+
+#
+# Options defined in nova.api.openstack
+#
+
+# Whether the V3 API is enabled or not (boolean value)
+#enabled=false
+
+# A list of v3 API extensions to never load. Specify the
+# extension aliases here. (list value)
+#extensions_blacklist=
+
+# If the list is not empty then a v3 API extension will only
+# be loaded if it exists in this list. Specify the extension
+# aliases here. (list value)
+#extensions_whitelist=
+
+
[conductor]
#
@@ -2613,6 +2653,13 @@
# value)
#call_timeout=60
+# Percentage of cell capacity to hold in reserve. Affects both
+# memory and disk utilization (floating point value)
+#reserve_percent=10.0
+
+# Type of cell: api or compute (string value)
+#cell_type=<None>
+
#
# Options defined in nova.cells.rpc_driver
@@ -2628,6 +2675,16 @@
# Options defined in nova.cells.scheduler
#
+# Filter classes the cells scheduler should use. An entry of
+# "nova.cells.filters.all_filters"maps to all cells filters
+# included with nova. (list value)
+#scheduler_filter_classes=nova.cells.filters.all_filters
+
+# Weigher classes the cells scheduler should use. An entry of
+# "nova.cells.weights.all_weighers"maps to all cell weighers
+# included with nova. (list value)
+#scheduler_weight_classes=nova.cells.weights.all_weighers
+
# How many retries when no cells are available. (integer
# value)
#scheduler_retries=10
@@ -2646,6 +2703,33 @@
#db_check_interval=60
+#
+# Options defined in nova.cells.weights.mute_child
+#
+
+# Multiplier used to weigh mute children. (The value should
+# be negative.) (floating point value)
+#mute_weight_multiplier=-10.0
+
+# Weight value assigned to mute children. (The value should
+# be positive.) (floating point value)
+#mute_weight_value=1000.0
+
+# Number of seconds after which a lack of capability and
+# capacity updates signals the child cell is to be treated as
+# a mute. (integer value)
+#mute_child_interval=300
+
+
+#
+# Options defined in nova.cells.weights.ram_by_instance_type
+#
+
+# Multiplier used for weighing ram. Negative numbers mean to
+# stack vs spread. (floating point value)
+#ram_weight_multiplier=10.0
+
+
[zookeeper]
#
@@ -2767,15 +2851,42 @@
#
+# Options defined in nova.virt.baremetal.tilera_pdu
+#
+
+# ip address of tilera pdu (string value)
+#tile_pdu_ip=10.0.100.1
+
+# management script for tilera pdu (string value)
+#tile_pdu_mgr=/tftpboot/pdu_mgr
+
+# power status of tilera PDU is OFF (integer value)
+#tile_pdu_off=2
+
+# power status of tilera PDU is ON (integer value)
+#tile_pdu_on=1
+
+# power status of tilera PDU (integer value)
+#tile_pdu_status=9
+
+# wait time in seconds until check the result after tilera
+# power operations (integer value)
+#tile_power_wait=9
+
+
+#
# Options defined in nova.virt.baremetal.virtual_power_driver
#
# ip or name to virtual power host (string value)
#virtual_power_ssh_host=
+# Port to use for ssh to virtual power host (integer value)
+#virtual_power_ssh_port=22
+
# base command to use for virtual power(vbox,virsh) (string
# value)
-#virtual_power_type=vbox
+#virtual_power_type=virsh
# user to execute virtual power commands as (string value)
#virtual_power_host_user=
@@ -2783,6 +2894,9 @@
# password for virtual power host_user (string value)
#virtual_power_host_pass=
+# ssh key for virtual power host_user (string value)
+#virtual_power_host_key=<None>
+
#
# Options defined in nova.virt.baremetal.volume_driver
@@ -2808,6 +2922,22 @@
#topics=notifications
+[matchmaker_redis]
+
+#
+# Options defined in nova.openstack.common.rpc.matchmaker_redis
+#
+
+# Host to locate redis (string value)
+#host=127.0.0.1
+
+# Use this port to connect to redis host. (integer value)
+#port=6379
+
+# Password for Redis server. (optional) (string value)
+#password=<None>
+
+
[trusted_computing]
#
@@ -2872,25 +3002,4 @@
#keymap=en-us
-[osapi_v3]
-
-#
-# Options defined in nova.api.openstack
-#
-
-# Whether the V3 API is enabled or not
-#enabled=False
-
-# If the list is not empty then a v3 API extension
-# will only be loaded if it exists in this list.
-# Specify the extension aliases here
-#extensions_whitelist=
-
-# A list of v3 API extensions to never load.
-# Specify the extension aliases here.
-# Note that if an extension is in both the blacklist and
-# and whitelist then it will not be loaded
-#extensions_blacklist=
-
-
-# Total option count: 584
+# Total option count: 609
diff --git a/etc/nova/policy.json b/etc/nova/policy.json
index 939aefe86..e79ff8380 100644
--- a/etc/nova/policy.json
+++ b/etc/nova/policy.json
@@ -34,6 +34,7 @@
"compute_extension:baremetal_nodes": "rule:admin_api",
"compute_extension: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": "",
@@ -43,6 +44,7 @@
"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": "",
@@ -106,6 +108,7 @@
"compute_extension:volumetypes": "",
"compute_extension:availability_zone:list": "",
"compute_extension:availability_zone:detail": "rule:admin_api",
+ "compute_extension:used_limits_for_admin": "rule:admin_api",
"volume:create": "",
diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py
index 12ea5f615..061495e71 100644
--- a/nova/api/ec2/__init__.py
+++ b/nova/api/ec2/__init__.py
@@ -158,7 +158,8 @@ class Lockout(wsgi.Middleware):
There is a possible race condition where simultaneous requests could
sneak in before the lockout hits, but this is extremely rare and would
- only result in a couple of extra failed attempts."""
+ only result in a couple of extra failed attempts.
+ """
def __init__(self, application):
"""middleware can use fake for testing."""
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index da0a52caa..e02f7b6f9 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -43,6 +43,7 @@ from nova import exception
from nova.image import s3
from nova import network
from nova.network.security_group import quantum_driver
+from nova.objects import instance as instance_obj
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import quota
@@ -206,6 +207,16 @@ def _format_mappings(properties, result):
result['blockDeviceMapping'] = mappings
+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,
+ expected_attrs=['system_metadata', 'metadata'])
+ inst_obj._context = context
+ return inst_obj
+
+
class CloudController(object):
"""CloudController provides the critical dispatch between
inbound API calls through the endpoint and messages
@@ -791,7 +802,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']
@@ -799,8 +809,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'],
@@ -1058,8 +1067,9 @@ class CloudController(object):
"""Format InstanceBlockDeviceMappingResponseItemType."""
root_device_type = 'instance-store'
mapping = []
- for bdm in db.block_device_mapping_get_all_by_instance(context,
- instance_uuid):
+ for bdm in block_device.legacy_mapping(
+ db.block_device_mapping_get_all_by_instance(context,
+ instance_uuid)):
volume_id = bdm['volume_id']
if (volume_id is None or bdm['no_device']):
continue
@@ -1091,7 +1101,7 @@ class CloudController(object):
@staticmethod
def _format_instance_type(instance, result):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
result['instanceType'] = instance_type['name']
@staticmethod
@@ -1325,7 +1335,7 @@ class CloudController(object):
raise exception.EC2APIError(_('Image must be available'))
(instances, resv_id) = self.compute_api.create(context,
- instance_type=flavors.get_instance_type_by_name(
+ instance_type=flavors.get_flavor_by_name(
kwargs.get('instance_type', None)),
image_href=image_uuid,
max_count=int(kwargs.get('max_count', min_count)),
@@ -1340,19 +1350,25 @@ class CloudController(object):
block_device_mapping=kwargs.get('block_device_mapping', {}))
return self._format_run_instances(context, resv_id)
- def _ec2_ids_to_instances(self, context, instance_id):
+ def _ec2_ids_to_instances(self, context, instance_id, objects=False):
"""Get all instances first, to prevent partial executions."""
instances = []
+ extra = ['system_metadata', 'metadata']
for ec2_id in instance_id:
validate_ec2_id(ec2_id)
instance_uuid = ec2utils.ec2_inst_id_to_uuid(context, ec2_id)
- instance = self.compute_api.get(context, instance_uuid)
+ if objects:
+ instance = instance_obj.Instance.get_by_uuid(
+ context, instance_uuid, expected_attrs=extra)
+ else:
+ instance = self.compute_api.get(context, instance_uuid)
instances.append(instance)
return instances
def terminate_instances(self, context, instance_id, **kwargs):
"""Terminate each instance in instance_id, which is a list of ec2 ids.
- instance_id is a kwarg so its name cannot be modified."""
+ instance_id is a kwarg so its name cannot be modified.
+ """
previous_states = self._ec2_ids_to_instances(context, instance_id)
LOG.debug(_("Going to start terminating instances"))
for instance in previous_states:
@@ -1371,8 +1387,9 @@ class CloudController(object):
def stop_instances(self, context, instance_id, **kwargs):
"""Stop each instances in instance_id.
- Here instance_id is a list of instance ids"""
- instances = self._ec2_ids_to_instances(context, instance_id)
+ Here instance_id is a list of instance ids
+ """
+ instances = self._ec2_ids_to_instances(context, instance_id, True)
LOG.debug(_("Going to stop instances"))
for instance in instances:
self.compute_api.stop(context, instance)
@@ -1380,8 +1397,9 @@ class CloudController(object):
def start_instances(self, context, instance_id, **kwargs):
"""Start each instances in instance_id.
- Here instance_id is a list of instance ids"""
- instances = self._ec2_ids_to_instances(context, instance_id)
+ Here instance_id is a list of instance ids
+ """
+ instances = self._ec2_ids_to_instances(context, instance_id, True)
LOG.debug(_("Going to start instances"))
for instance in instances:
self.compute_api.start(context, instance)
@@ -1635,7 +1653,8 @@ class CloudController(object):
if vm_state == vm_states.ACTIVE:
restart_instance = True
- self.compute_api.stop(context, instance)
+ inst_obj = db_to_inst_obj(context, instance)
+ self.compute_api.stop(context, inst_obj)
# wait instance for really stopped
start_time = time.time()
@@ -1677,7 +1696,8 @@ class CloudController(object):
ec2_id = ec2utils.glance_id_to_ec2_id(context, new_image['id'])
if restart_instance:
- self.compute_api.start(context, instance)
+ inst_obj = db_to_inst_obj(context, instance)
+ self.compute_api.start(context, inst_obj)
return {'imageId': ec2_id}
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py
index d53241308..425e5bf53 100644
--- a/nova/api/metadata/base.py
+++ b/nova/api/metadata/base.py
@@ -209,7 +209,7 @@ class InstanceMetadata():
meta_data['product-codes'] = []
if self._check_version('2007-08-29', version):
- instance_type = flavors.extract_instance_type(self.instance)
+ instance_type = flavors.extract_flavor(self.instance)
meta_data['instance-type'] = instance_type['name']
if False and self._check_version('2007-10-10', version):
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/__init__.py b/nova/api/openstack/__init__.py
index 3687ce111..3455b812d 100644
--- a/nova/api/openstack/__init__.py
+++ b/nova/api/openstack/__init__.py
@@ -28,6 +28,7 @@ import webob.exc
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
+from nova import exception
from nova import notifications
from nova.openstack.common import log as logging
from nova import utils
@@ -55,6 +56,11 @@ CONF = cfg.CONF
CONF.register_group(api_opts_group)
CONF.register_opts(api_opts, api_opts_group)
+# List of v3 API extensions which are considered to form
+# the core API and so must be present
+# TODO(cyeoh): Expand this list as the core APIs are ported to V3
+API_V3_CORE_EXTENSIONS = set(['servers'])
+
class FaultWrapper(base_wsgi.Middleware):
"""Calls down the middleware stack, making exceptions into faults."""
@@ -306,8 +312,22 @@ class APIRouterV3(base_wsgi.Router):
mapper=mapper)
self.api_extension_manager.map(self._register_controllers)
+ missing_core_extensions = self.get_missing_core_extensions(
+ self.loaded_extension_info.get_extensions().keys())
+ if missing_core_extensions:
+ LOG.critical(_("Missing core API extensions: %s"),
+ missing_core_extensions)
+ raise exception.CoreAPIMissing(
+ missing_apis=missing_core_extensions)
+
super(APIRouterV3, self).__init__(mapper)
+ @staticmethod
+ def get_missing_core_extensions(extensions_loaded):
+ extensions_loaded = set(extensions_loaded)
+ missing_extensions = API_V3_CORE_EXTENSIONS - extensions_loaded
+ return missing_extensions
+
@property
def loaded_extension_info(self):
raise NotImplementedError()
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index bec919f4b..dd746e23d 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
diff --git a/nova/api/openstack/compute/consoles.py b/nova/api/openstack/compute/consoles.py
index f9c30943a..7e540ad17 100644
--- a/nova/api/openstack/compute/consoles.py
+++ b/nova/api/openstack/compute/consoles.py
@@ -34,7 +34,8 @@ def _translate_keys(cons):
def _translate_detail_keys(cons):
"""Coerces a console instance into proper dictionary format with
- correctly mapped attributes """
+ correctly mapped attributes.
+ """
pool = cons['pool']
info = {'id': cons['id'],
'console_type': pool['console_type'],
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/certificates.py b/nova/api/openstack/compute/contrib/certificates.py
index 64a6e26fe..4fe49aadf 100644
--- a/nova/api/openstack/compute/contrib/certificates.py
+++ b/nova/api/openstack/compute/contrib/certificates.py
@@ -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/coverage_ext.py b/nova/api/openstack/compute/contrib/coverage_ext.py
index 154699470..578e2e79d 100644
--- a/nova/api/openstack/compute/contrib/coverage_ext.py
+++ b/nova/api/openstack/compute/contrib/coverage_ext.py
@@ -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/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/extended_quotas.py b/nova/api/openstack/compute/contrib/extended_quotas.py
index 431b95e9b..a21888c4a 100644
--- a/nova/api/openstack/compute/contrib/extended_quotas.py
+++ b/nova/api/openstack/compute/contrib/extended_quotas.py
@@ -17,9 +17,12 @@ from nova.api.openstack import extensions
class Extended_quotas(extensions.ExtensionDescriptor):
- """Adds ability for admins to delete quota."""
+ """Adds ability for admins to delete quota
+ and optionally force the update Quota command.
+ """
name = "ExtendedQuotas"
alias = "os-extended-quotas"
- namespace = "http://docs.openstack.org/compute/ext/quota-delete/api/v1.1"
- updated = "2013-05-23T00:00:00+00:00"
+ namespace = ("http://docs.openstack.org/compute/ext/extended_quotas"
+ "/api/v1.1")
+ updated = "2013-06-09T00:00:00+00:00"
diff --git a/nova/api/openstack/compute/contrib/extended_services.py b/nova/api/openstack/compute/contrib/extended_services.py
new file mode 100644
index 000000000..f9f1a4d86
--- /dev/null
+++ b/nova/api/openstack/compute/contrib/extended_services.py
@@ -0,0 +1,11 @@
+from nova.api.openstack import extensions
+
+
+class Extended_services(extensions.ExtensionDescriptor):
+ """Extended services support."""
+
+ name = "ExtendedServices"
+ alias = "os-extended-services"
+ namespace = ("http://docs.openstack.org/compute/ext/"
+ "extended_services/api/v2")
+ updated = "2013-05-17T00:00:00-00:00"
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/flavor_access.py b/nova/api/openstack/compute/contrib/flavor_access.py
index 47d7e07e2..bea92d883 100644
--- a/nova/api/openstack/compute/contrib/flavor_access.py
+++ b/nova/api/openstack/compute/contrib/flavor_access.py
@@ -71,7 +71,7 @@ def _marshall_flavor_access(flavor_id):
rval = []
try:
access_list = flavors.\
- get_instance_type_access_by_flavor_id(flavor_id)
+ get_flavor_access_by_flavor_id(flavor_id)
except exception.FlavorNotFound:
explanation = _("Flavor not found.")
raise webob.exc.HTTPNotFound(explanation=explanation)
@@ -95,7 +95,7 @@ class FlavorAccessController(object):
authorize(context)
try:
- flavor = flavors.get_instance_type_by_flavor_id(flavor_id)
+ flavor = flavors.get_flavor_by_flavor_id(flavor_id)
except exception.FlavorNotFound:
explanation = _("Flavor not found.")
raise webob.exc.HTTPNotFound(explanation=explanation)
@@ -119,7 +119,7 @@ class FlavorActionController(wsgi.Controller):
def _get_flavor_refs(self, context):
"""Return a dictionary mapping flavorid to flavor_ref."""
- flavor_refs = flavors.get_all_types(context)
+ flavor_refs = flavors.get_all_flavors(context)
rval = {}
for name, obj in flavor_refs.iteritems():
rval[obj['flavorid']] = obj
@@ -173,7 +173,7 @@ class FlavorActionController(wsgi.Controller):
tenant = vals['tenant']
try:
- flavors.add_instance_type_access(id, tenant, context)
+ flavors.add_flavor_access(id, tenant, context)
except exception.FlavorAccessExists as err:
raise webob.exc.HTTPConflict(explanation=err.format_message())
@@ -190,7 +190,7 @@ class FlavorActionController(wsgi.Controller):
tenant = vals['tenant']
try:
- flavors.remove_instance_type_access(id, tenant, context)
+ flavors.remove_flavor_access(id, tenant, context)
except exception.FlavorAccessNotFound as e:
raise webob.exc.HTTPNotFound(explanation=e.format_message())
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 8dc942f18..43d5d2110 100644
--- a/nova/api/openstack/compute/contrib/flavormanage.py
+++ b/nova/api/openstack/compute/contrib/flavormanage.py
@@ -40,7 +40,7 @@ class FlavorManageController(wsgi.Controller):
authorize(context)
try:
- flavor = flavors.get_instance_type_by_flavor_id(
+ flavor = flavors.get_flavor_by_flavor_id(
id, read_deleted="no")
except exception.NotFound as e:
raise webob.exc.HTTPNotFound(explanation=e.format_message())
diff --git a/nova/api/openstack/compute/contrib/hosts.py b/nova/api/openstack/compute/contrib/hosts.py
index e0ea1203b..ea9528340 100644
--- a/nova/api/openstack/compute/contrib/hosts.py
+++ b/nova/api/openstack/compute/contrib/hosts.py
@@ -201,7 +201,8 @@ class HostController(object):
def _set_host_maintenance(self, context, host_name, mode=True):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
LOG.audit(_("Putting host %(host_name)s in maintenance mode "
"%(mode)s."),
{'host_name': host_name, 'mode': mode})
@@ -218,8 +219,10 @@ class HostController(object):
def _set_enabled_status(self, context, host_name, enabled):
"""Sets the specified host's ability to accept new instances.
+
:param enabled: a boolean - if False no new VMs will be able to start
- on the host"""
+ on the host
+ """
if enabled:
LOG.audit(_("Enabling host %s.") % host_name)
else:
diff --git a/nova/api/openstack/compute/contrib/keypairs.py b/nova/api/openstack/compute/contrib/keypairs.py
index a79b39aae..4245355e5 100644
--- a/nova/api/openstack/compute/contrib/keypairs.py
+++ b/nova/api/openstack/compute/contrib/keypairs.py
@@ -94,12 +94,10 @@ class KeypairController(object):
raise webob.exc.HTTPRequestEntityTooLarge(
explanation=msg,
headers={'Retry-After': 0})
- except exception.InvalidKeypair:
- msg = _("Keypair data is invalid")
- raise webob.exc.HTTPBadRequest(explanation=msg)
- except exception.KeyPairExists:
- msg = _("Key pair '%s' already exists.") % name
- raise webob.exc.HTTPConflict(explanation=msg)
+ except exception.InvalidKeypair as exc:
+ raise webob.exc.HTTPBadRequest(explanation=exc.format_message())
+ except exception.KeyPairExists as exc:
+ raise webob.exc.HTTPConflict(explanation=exc.format_message())
def delete(self, req, id):
"""
diff --git a/nova/api/openstack/compute/contrib/quotas.py b/nova/api/openstack/compute/contrib/quotas.py
index 0a2453038..a0740ebe5 100644
--- a/nova/api/openstack/compute/contrib/quotas.py
+++ b/nova/api/openstack/compute/contrib/quotas.py
@@ -24,11 +24,13 @@ 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
QUOTAS = quota.QUOTAS
LOG = logging.getLogger(__name__)
+NON_QUOTA_KEYS = ['tenant_id', 'id', 'force']
authorize_update = extensions.extension_authorizer('compute', 'quotas:update')
@@ -94,26 +96,71 @@ class QuotaSetsController(object):
project_id = id
bad_keys = []
- for key in body['quota_set'].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 != 'tenant_id' and
- key != 'id'):
+ 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)
- for key in body['quota_set'].keys():
- try:
- value = int(body['quota_set'][key])
- except (ValueError, TypeError):
- LOG.warn(_("Quota for %s should be integer.") % key)
- # NOTE(hzzhoushaoyu): Do not prevent valid value to be
- # updated. If raise BadRequest, some may be updated and
- # others may be not.
+ 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
- self._validate_quota_limit(value)
+ # 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:
diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py
index 041eb0dc5..b34a77cab 100644
--- a/nova/api/openstack/compute/contrib/security_groups.py
+++ b/nova/api/openstack/compute/contrib/security_groups.py
@@ -289,8 +289,12 @@ class SecurityGroupController(SecurityGroupControllerBase):
self.security_group_api.validate_property(group_description,
'description', None)
- group_ref = self.security_group_api.create_security_group(
- context, group_name, group_description)
+ try:
+ 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)}
@@ -356,9 +360,13 @@ class SecurityGroupRulesController(SecurityGroupControllerBase):
msg = _("Bad prefix for network in cidr %s") % new_rule['cidr']
raise exc.HTTPBadRequest(explanation=msg)
- security_group_rule = (
- self.security_group_api.create_security_group_rule(
- context, security_group, new_rule))
+ try:
+ 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,
@@ -412,7 +420,7 @@ class ServerSecurityGroupController(SecurityGroupControllerBase):
raise exc.HTTPNotFound(explanation=exp.format_message())
groups = self.security_group_api.get_instance_security_groups(
- context, instance['id'], instance['uuid'], True)
+ context, instance['uuid'], True)
result = [self._format_security_group(context, group)
for group in groups]
diff --git a/nova/api/openstack/compute/contrib/server_start_stop.py b/nova/api/openstack/compute/contrib/server_start_stop.py
index c4d0d5c9e..2803cd04b 100644
--- a/nova/api/openstack/compute/contrib/server_start_stop.py
+++ b/nova/api/openstack/compute/contrib/server_start_stop.py
@@ -20,6 +20,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
+from nova.objects import instance as instance_obj
from nova.openstack.common import log as logging
@@ -33,7 +34,9 @@ class ServerStartStopActionController(wsgi.Controller):
def _get_instance(self, context, instance_uuid):
try:
- return self.compute_api.get(context, instance_uuid)
+ attrs = ['system_metadata', 'metadata']
+ return instance_obj.Instance.get_by_uuid(context, instance_uuid,
+ expected_attrs=attrs)
except exception.NotFound:
msg = _("Instance not found")
raise webob.exc.HTTPNotFound(explanation=msg)
diff --git a/nova/api/openstack/compute/contrib/services.py b/nova/api/openstack/compute/contrib/services.py
index bc5f60b64..76eec7ce4 100644
--- a/nova/api/openstack/compute/contrib/services.py
+++ b/nova/api/openstack/compute/contrib/services.py
@@ -23,6 +23,7 @@ from nova.api.openstack import xmlutil
from nova import compute
from nova import exception
from nova import servicegroup
+from nova import utils
authorize = extensions.extension_authorizer('compute', 'services')
CONF = cfg.CONF
@@ -39,6 +40,7 @@ class ServicesIndexTemplate(xmlutil.TemplateBuilder):
elem.set('status')
elem.set('state')
elem.set('updated_at')
+ elem.set('disabled_reason')
return xmlutil.MasterTemplate(root, 1)
@@ -49,6 +51,7 @@ class ServiceUpdateTemplate(xmlutil.TemplateBuilder):
root.set('host')
root.set('binary')
root.set('status')
+ root.set('disabled_reason')
return xmlutil.MasterTemplate(root, 1)
@@ -62,21 +65,20 @@ class ServiceUpdateDeserializer(wsgi.XMLDeserializer):
return service
service['host'] = service_node.getAttribute('host')
service['binary'] = service_node.getAttribute('binary')
+ service['disabled_reason'] = service_node.getAttribute(
+ 'disabled_reason')
return dict(body=service)
class ServiceController(object):
- def __init__(self):
+ def __init__(self, ext_mgr=None, *args, **kwargs):
self.host_api = compute.HostAPI()
self.servicegroup_api = servicegroup.API()
+ self.ext_mgr = ext_mgr
- @wsgi.serializers(xml=ServicesIndexTemplate)
- def index(self, req):
- """
- Return a list of all running services. Filter by host & service name.
- """
+ def _get_services(self, req):
context = req.environ['nova.context']
authorize(context)
services = self.host_api.service_get_all(
@@ -93,18 +95,49 @@ class ServiceController(object):
if binary:
services = [s for s in services if s['binary'] == binary]
+ return services
+
+ def _get_service_detail(self, svc, detailed):
+ alive = self.servicegroup_api.service_is_up(svc)
+ state = (alive and "up") or "down"
+ active = 'enabled'
+ if svc['disabled']:
+ active = 'disabled'
+ service_detail = {'binary': svc['binary'], 'host': svc['host'],
+ 'zone': svc['availability_zone'],
+ 'status': active, 'state': state,
+ 'updated_at': svc['updated_at']}
+ if detailed:
+ service_detail['disabled_reason'] = svc['disabled_reason']
+
+ return service_detail
+
+ def _get_services_list(self, req, detailed):
+ services = self._get_services(req)
svcs = []
for svc in services:
- alive = self.servicegroup_api.service_is_up(svc)
- art = (alive and "up") or "down"
- active = 'enabled'
- if svc['disabled']:
- active = 'disabled'
- svcs.append({"binary": svc['binary'], 'host': svc['host'],
- 'zone': svc['availability_zone'],
- 'status': active, 'state': art,
- 'updated_at': svc['updated_at']})
- return {'services': svcs}
+ svcs.append(self._get_service_detail(svc, detailed))
+
+ return svcs
+
+ def _is_valid_as_reason(self, reason):
+ try:
+ utils.check_string_length(reason.strip(), 'Disabled reason',
+ min_length=1, max_length=255)
+ except exception.InvalidInput:
+ return False
+
+ return True
+
+ @wsgi.serializers(xml=ServicesIndexTemplate)
+ def index(self, req):
+ """
+ Return a list of all running services. Filter by host & service name.
+ """
+ detailed = self.ext_mgr.is_loaded('os-extended-services')
+ services = self._get_services_list(req, detailed)
+
+ return {'services': services}
@wsgi.deserializers(xml=ServiceUpdateDeserializer)
@wsgi.serializers(xml=ServiceUpdateTemplate)
@@ -113,28 +146,48 @@ class ServiceController(object):
context = req.environ['nova.context']
authorize(context)
+ ext_loaded = self.ext_mgr.is_loaded('os-extended-services')
if id == "enable":
disabled = False
- elif id == "disable":
+ status = "enabled"
+ elif (id == "disable" or
+ (id == "disable-log-reason" and ext_loaded)):
disabled = True
+ status = "disabled"
else:
- raise webob.exc.HTTPNotFound(_("Unknown action"))
-
- status = id + 'd'
-
+ raise webob.exc.HTTPNotFound("Unknown action")
try:
host = body['host']
binary = body['binary']
+ ret_value = {
+ 'service': {
+ 'host': host,
+ 'binary': binary,
+ 'status': status,
+ },
+ }
+ status_detail = {'disabled': disabled}
+ if id == "disable-log-reason":
+ reason = body['disabled_reason']
+ if not self._is_valid_as_reason(reason):
+ msg = _('Disabled reason contains invalid characters '
+ 'or is too long')
+ raise webob.exc.HTTPUnprocessableEntity(detail=msg)
+
+ status_detail['disabled_reason'] = reason
+ ret_value['service']['disabled_reason'] = reason
except (TypeError, KeyError):
- raise webob.exc.HTTPUnprocessableEntity()
+ msg = _('Invalid attribute in the request')
+ if 'host' in body and 'binary' in body:
+ msg = _('Missing disabled reason field')
+ raise webob.exc.HTTPUnprocessableEntity(detail=msg)
try:
- svc = self.host_api.service_update(context, host, binary,
- {'disabled': disabled})
- except exception.ServiceNotFound as exc:
+ self.host_api.service_update(context, host, binary, status_detail)
+ except exception.ServiceNotFound:
raise webob.exc.HTTPNotFound(_("Unknown service"))
- return {'service': {'host': host, 'binary': binary, 'status': status}}
+ return ret_value
class Services(extensions.ExtensionDescriptor):
@@ -148,6 +201,7 @@ class Services(extensions.ExtensionDescriptor):
def get_resources(self):
resources = []
resource = extensions.ResourceExtension('os-services',
- ServiceController())
+ ServiceController(self.ext_mgr))
+
resources.append(resource)
return resources
diff --git a/nova/api/openstack/compute/contrib/simple_tenant_usage.py b/nova/api/openstack/compute/contrib/simple_tenant_usage.py
index e5f9b44b7..ceac605c5 100644
--- a/nova/api/openstack/compute/contrib/simple_tenant_usage.py
+++ b/nova/api/openstack/compute/contrib/simple_tenant_usage.py
@@ -106,9 +106,10 @@ class SimpleTenantUsageController(object):
def _get_flavor(self, context, compute_api, instance, flavors_cache):
"""Get flavor information from the instance's system_metadata,
- allowing a fallback to lookup by-id for deleted instances only."""
+ allowing a fallback to lookup by-id for deleted instances only.
+ """
try:
- return flavors.extract_instance_type(instance)
+ return flavors.extract_flavor(instance)
except KeyError:
if not instance['deleted']:
# Only support the fallback mechanism for deleted instances
diff --git a/nova/api/openstack/compute/contrib/used_limits.py b/nova/api/openstack/compute/contrib/used_limits.py
index e00f0a9eb..5a90a9def 100644
--- a/nova/api/openstack/compute/contrib/used_limits.py
+++ b/nova/api/openstack/compute/contrib/used_limits.py
@@ -26,6 +26,8 @@ QUOTAS = quota.QUOTAS
XMLNS = "http://docs.openstack.org/compute/ext/used_limits/api/v1.1"
ALIAS = "os-used-limits"
authorize = extensions.soft_extension_authorizer('compute', 'used_limits')
+authorize_for_admin = extensions.extension_authorizer('compute',
+ 'used_limits_for_admin')
class UsedLimitsTemplate(xmlutil.TemplateBuilder):
@@ -37,6 +39,9 @@ class UsedLimitsTemplate(xmlutil.TemplateBuilder):
class UsedLimitsController(wsgi.Controller):
+ def __init__(self, ext_mgr):
+ self.ext_mgr = ext_mgr
+
@staticmethod
def _reserved(req):
try:
@@ -48,8 +53,8 @@ class UsedLimitsController(wsgi.Controller):
def index(self, req, resp_obj):
resp_obj.attach(xml=UsedLimitsTemplate())
context = req.environ['nova.context']
- quotas = QUOTAS.get_project_quotas(context, context.project_id,
- usages=True)
+ project_id = self._project_id(context, req)
+ quotas = QUOTAS.get_project_quotas(context, project_id, usages=True)
quota_map = {
'totalRAMUsed': 'ram',
'totalCoresUsed': 'cores',
@@ -66,6 +71,18 @@ class UsedLimitsController(wsgi.Controller):
resp_obj.obj['limits']['absolute'].update(used_limits)
+ def _project_id(self, context, req):
+ if self.ext_mgr.is_loaded('os-used-limits-for-admin'):
+ if 'tenant_id' in req.GET:
+ tenant_id = req.GET.get('tenant_id')
+ target = {
+ 'project_id': tenant_id,
+ 'user_id': context.user_id
+ }
+ authorize_for_admin(context, target=target)
+ return tenant_id
+ return context.project_id
+
class Used_limits(extensions.ExtensionDescriptor):
"""Provide data on limited resources that are being used."""
@@ -76,7 +93,7 @@ class Used_limits(extensions.ExtensionDescriptor):
updated = "2012-07-13T00:00:00+00:00"
def get_controller_extensions(self):
- controller = UsedLimitsController()
+ controller = UsedLimitsController(self.ext_mgr)
limits_ext = extensions.ControllerExtension(self, 'limits',
controller=controller)
return [limits_ext]
diff --git a/nova/openstack/common/plugin/__init__.py b/nova/api/openstack/compute/contrib/used_limits_for_admin.py
index b706747cf..a6ec9c002 100644
--- a/nova/openstack/common/plugin/__init__.py
+++ b/nova/api/openstack/compute/contrib/used_limits_for_admin.py
@@ -1,5 +1,6 @@
-# Copyright 2012 OpenStack Foundation.
-# All Rights Reserved.
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# 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
@@ -11,4 +12,16 @@
# 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
+
+
+class Used_limits_for_admin(extensions.ExtensionDescriptor):
+ """Provide data to admin on limited resources used by other tenants."""
+
+ name = "UsedLimitsForAdmin"
+ alias = "os-used-limits-for-admin"
+ namespace = ("http://docs.openstack.org/compute/ext/used_limits_for_admin"
+ "/api/v1.1")
+ updated = "2013-05-02T00:00:00+00:00"
diff --git a/nova/api/openstack/compute/contrib/volumes.py b/nova/api/openstack/compute/contrib/volumes.py
index 3ede9e4a4..0c629f068 100644
--- a/nova/api/openstack/compute/contrib/volumes.py
+++ b/nova/api/openstack/compute/contrib/volumes.py
@@ -255,7 +255,7 @@ class VolumeController(wsgi.Controller):
availability_zone=availability_zone
)
except exception.InvalidInput as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
# TODO(vish): Instance should be None at db layer instead of
# trying to lazy load, but for now we turn it into
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 744fe5e93..4da130e9b 100644
--- a/nova/api/openstack/compute/flavors.py
+++ b/nova/api/openstack/compute/flavors.py
@@ -85,7 +85,7 @@ class Controller(wsgi.Controller):
def show(self, req, id):
"""Return data about the given flavor id."""
try:
- flavor = flavors.get_instance_type_by_flavor_id(id)
+ flavor = flavors.get_flavor_by_flavor_id(id)
req.cache_db_flavor(flavor)
except exception.NotFound:
raise webob.exc.HTTPNotFound()
@@ -134,7 +134,7 @@ class Controller(wsgi.Controller):
msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
raise webob.exc.HTTPBadRequest(explanation=msg)
- limited_flavors = flavors.get_all_types(context, filters=filters)
+ limited_flavors = flavors.get_all_flavors(context, filters=filters)
flavors_list = limited_flavors.values()
sorted_flavors = sorted(flavors_list,
key=lambda item: item['flavorid'])
diff --git a/nova/api/openstack/compute/images.py b/nova/api/openstack/compute/images.py
index 4dba0a6c2..e0c4f7465 100644
--- a/nova/api/openstack/compute/images.py
+++ b/nova/api/openstack/compute/images.py
@@ -181,7 +181,7 @@ class Controller(wsgi.Controller):
images = self._image_service.detail(context, filters=filters,
**page_params)
except exception.Invalid as e:
- raise webob.exc.HTTPBadRequest(explanation=str(e))
+ raise webob.exc.HTTPBadRequest(explanation=e.format_message())
return self._view_builder.index(req, images)
@wsgi.serializers(xml=ImagesTemplate)
@@ -201,7 +201,7 @@ class Controller(wsgi.Controller):
images = self._image_service.detail(context, filters=filters,
**page_params)
except exception.Invalid as e:
- raise webob.exc.HTTPBadRequest(explanation=str(e))
+ raise webob.exc.HTTPBadRequest(explanation=e.format_message())
req.cache_db_items('images', images, 'id')
return self._view_builder.detail(req, images)
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/keypairs.py b/nova/api/openstack/compute/plugins/v3/keypairs.py
index 4051a3497..bf740641e 100644
--- a/nova/api/openstack/compute/plugins/v3/keypairs.py
+++ b/nova/api/openstack/compute/plugins/v3/keypairs.py
@@ -95,12 +95,10 @@ class KeypairController(object):
raise webob.exc.HTTPRequestEntityTooLarge(
explanation=msg,
headers={'Retry-After': 0})
- except exception.InvalidKeypair:
- msg = _("Keypair data is invalid")
- raise webob.exc.HTTPBadRequest(explanation=msg)
- except exception.KeyPairExists:
- msg = _("Key pair '%s' already exists.") % name
- raise webob.exc.HTTPConflict(explanation=msg)
+ except exception.InvalidKeypair as exc:
+ raise webob.exc.HTTPBadRequest(explanation=exc.format_message())
+ except exception.KeyPairExists as exc:
+ raise webob.exc.HTTPConflict(explanation=exc.format_message())
def delete(self, req, id):
"""
diff --git a/nova/api/openstack/compute/plugins/v3/servers.py b/nova/api/openstack/compute/plugins/v3/servers.py
index d9b2d4a3b..ef170fa7b 100644
--- a/nova/api/openstack/compute/plugins/v3/servers.py
+++ b/nova/api/openstack/compute/plugins/v3/servers.py
@@ -41,14 +41,9 @@ from nova.openstack.common import uuidutils
from nova import utils
-server_opts = [
- cfg.BoolOpt('enable_instance_password',
- default=True,
- help='Allows use of instance password during '
- 'server creation'),
-]
CONF = cfg.CONF
-CONF.register_opts(server_opts)
+CONF.import_opt('enable_instance_password',
+ 'nova.api.openstack.compute.servers')
CONF.import_opt('network_api_class', 'nova.network')
CONF.import_opt('reclaim_instance_interval', 'nova.compute.manager')
@@ -518,7 +513,7 @@ class ServersController(wsgi.Controller):
try:
servers = self._get_servers(req, is_detail=False)
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
return servers
@wsgi.serializers(xml=ServersTemplate)
@@ -527,7 +522,7 @@ class ServersController(wsgi.Controller):
try:
servers = self._get_servers(req, is_detail=True)
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
return servers
def _add_instance_faults(self, ctxt, instances):
@@ -630,7 +625,7 @@ class ServersController(wsgi.Controller):
utils.check_string_length(value, name, min_length=1,
max_length=max_length)
except exception.InvalidInput as e:
- raise exc.HTTPBadRequest(explanation=str(e))
+ raise exc.HTTPBadRequest(explanation=e.format_message())
def _validate_server_name(self, value):
self._check_string_length(value, 'Server name', max_length=255)
@@ -960,8 +955,8 @@ class ServersController(wsgi.Controller):
# scheduler_hints = server_dict.get('scheduler_hints', {})
try:
- _get_inst_type = flavors.get_instance_type_by_flavor_id
- inst_type = _get_inst_type(flavor_id, read_deleted="no")
+ inst_type = flavors.get_flavor_by_flavor_id(
+ flavor_id, read_deleted="no")
(instances, resv_id) = self.compute_api.create(context,
inst_type,
@@ -1024,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)
@@ -1460,7 +1452,7 @@ class ServersController(wsgi.Controller):
common.raise_http_conflict_for_instance_invalid_state(state_error,
'createImage')
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
# build location of newly-created image entity
image_id = str(image['id'])
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index 41c3b92a5..b9e18b501 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -471,7 +471,7 @@ class Controller(wsgi.Controller):
try:
servers = self._get_servers(req, is_detail=False)
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
return servers
@wsgi.serializers(xml=ServersTemplate)
@@ -480,7 +480,7 @@ class Controller(wsgi.Controller):
try:
servers = self._get_servers(req, is_detail=True)
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
return servers
def _add_instance_faults(self, ctxt, instances):
@@ -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 = []
@@ -580,10 +580,12 @@ class Controller(wsgi.Controller):
def _check_string_length(self, value, name, max_length=None):
try:
+ if isinstance(value, basestring):
+ value = value.strip()
utils.check_string_length(value, name, min_length=1,
max_length=max_length)
except exception.InvalidInput as e:
- raise exc.HTTPBadRequest(explanation=str(e))
+ raise exc.HTTPBadRequest(explanation=e.format_message())
def _validate_server_name(self, value):
self._check_string_length(value, 'Server name', max_length=255)
@@ -877,7 +879,7 @@ class Controller(wsgi.Controller):
scheduler_hints = server_dict.get('scheduler_hints', {})
try:
- _get_inst_type = flavors.get_instance_type_by_flavor_id
+ _get_inst_type = flavors.get_flavor_by_flavor_id
inst_type = _get_inst_type(flavor_id, read_deleted="no")
(instances, resv_id) = self.compute_api.create(context,
@@ -941,11 +943,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)
@@ -1094,11 +1093,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)
@@ -1365,7 +1364,7 @@ class Controller(wsgi.Controller):
common.raise_http_conflict_for_instance_invalid_state(state_error,
'createImage')
except exception.Invalid as err:
- raise exc.HTTPBadRequest(explanation=str(err))
+ raise exc.HTTPBadRequest(explanation=err.format_message())
# build location of newly-created image entity
image_id = str(image['id'])
diff --git a/nova/api/openstack/compute/views/servers.py b/nova/api/openstack/compute/views/servers.py
index 0cd6afaa1..734bb647d 100644
--- a/nova/api/openstack/compute/views/servers.py
+++ b/nova/api/openstack/compute/views/servers.py
@@ -54,14 +54,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 +65,6 @@ class ViewBuilder(common.ViewBuilder):
},
}
- @_skip_precooked
def basic(self, request, instance):
"""Generic, non-detailed view of an instance."""
return {
@@ -86,7 +77,6 @@ class ViewBuilder(common.ViewBuilder):
},
}
- @_skip_precooked
def show(self, request, instance):
"""Detailed view of a single instance."""
server = {
@@ -181,7 +171,7 @@ class ViewBuilder(common.ViewBuilder):
return ""
def _get_flavor(self, request, instance):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
if not instance_type:
LOG.warn(_("Instance has had its instance_type removed "
"from the DB"), instance=instance)
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/block_device.py b/nova/block_device.py
index b7a9881b1..4ec54f0db 100644
--- a/nova/block_device.py
+++ b/nova/block_device.py
@@ -17,9 +17,14 @@
import re
+from oslo.config import cfg
+
+from nova import exception
from nova.openstack.common import log as logging
from nova.virt import driver
+CONF = cfg.CONF
+CONF.import_opt('default_ephemeral_format', 'nova.virt.driver')
LOG = logging.getLogger(__name__)
DEFAULT_ROOT_DEV_NAME = '/dev/sda1'
@@ -29,6 +34,177 @@ _DEFAULT_MAPPINGS = {'ami': 'sda1',
'swap': 'sda3'}
+bdm_legacy_fields = set(['device_name', 'delete_on_termination',
+ 'virtual_name', 'snapshot_id',
+ 'volume_id', 'volume_size', 'no_device',
+ 'connection_info'])
+
+
+bdm_new_fields = set(['source_type', 'destination_type',
+ 'guest_format', 'device_type', 'disk_bus', 'boot_index',
+ 'device_name', 'delete_on_termination', 'snapshot_id',
+ 'volume_id', 'volume_size', 'image_id', 'no_device',
+ 'connection_info'])
+
+
+bdm_db_only_fields = set(['id', 'instance_uuid'])
+
+
+bdm_db_inherited_fields = set(['created_at', 'updated_at',
+ 'deleted_at', 'deleted'])
+
+
+class BlockDeviceDict(dict):
+ """Represents a Block Device Mapping in Nova."""
+
+ _fields = bdm_new_fields
+ _db_only_fields = (bdm_db_only_fields |
+ bdm_db_inherited_fields)
+
+ def __init__(self, bdm_dict=None, do_not_default=None):
+ super(BlockDeviceDict, self).__init__()
+
+ bdm_dict = bdm_dict or {}
+ do_not_default = do_not_default or set()
+
+ self._validate(bdm_dict)
+ # NOTE (ndipanov): Never default db fields
+ self.update(
+ dict((field, None)
+ for field in self._fields - do_not_default))
+ self.update(bdm_dict)
+
+ def _validate(self, bdm_dict):
+ """Basic data format validations."""
+ if (not set(key for key, _ in bdm_dict.iteritems()) <=
+ (self._fields | self._db_only_fields)):
+ raise exception.InvalidBDMFormat()
+ # TODO(ndipanov): Validate must-have fields!
+
+ @classmethod
+ def from_legacy(cls, legacy_bdm):
+
+ copy_over_fields = bdm_legacy_fields & bdm_new_fields
+ copy_over_fields |= (bdm_db_only_fields |
+ bdm_db_inherited_fields)
+ # NOTE (ndipanov): These fields cannot be computed
+ # from legacy bdm, so do not default them
+ # to avoid overwriting meaningful values in the db
+ non_computable_fields = set(['boot_index', 'disk_bus',
+ 'guest_format', 'device_type'])
+
+ new_bdm = dict((fld, val) for fld, val in legacy_bdm.iteritems()
+ if fld in copy_over_fields)
+
+ virt_name = legacy_bdm.get('virtual_name')
+ volume_size = legacy_bdm.get('volume_size')
+
+ if is_swap_or_ephemeral(virt_name):
+ new_bdm['source_type'] = 'blank'
+ new_bdm['delete_on_termination'] = True
+ new_bdm['destination_type'] = 'local'
+
+ if virt_name == 'swap':
+ new_bdm['guest_format'] = 'swap'
+ else:
+ new_bdm['guest_format'] = CONF.default_ephemeral_format
+
+ elif legacy_bdm.get('snapshot_id'):
+ new_bdm['source_type'] = 'snapshot'
+ new_bdm['destination_type'] = 'volume'
+
+ elif legacy_bdm.get('volume_id'):
+ new_bdm['source_type'] = 'volume'
+ new_bdm['destination_type'] = 'volume'
+
+ elif legacy_bdm.get('no_device'):
+ # NOTE (ndipanov): Just keep the BDM for now,
+ pass
+
+ else:
+ raise exception.InvalidBDMFormat()
+
+ return cls(new_bdm, non_computable_fields)
+
+ def legacy(self):
+ copy_over_fields = bdm_legacy_fields - set(['virtual_name'])
+ copy_over_fields |= (bdm_db_only_fields |
+ bdm_db_inherited_fields)
+
+ legacy_block_device = dict((field, self.get(field))
+ for field in copy_over_fields if field in self)
+
+ source_type = self.get('source_type')
+ no_device = self.get('no_device')
+ if source_type == 'blank':
+ if self['guest_format'] == 'swap':
+ legacy_block_device['virtual_name'] = 'swap'
+ else:
+ # NOTE (ndipanov): Always label as 0, it is up to
+ # the calling routine to re-enumerate them
+ legacy_block_device['virtual_name'] = 'ephemeral0'
+ elif source_type in ('volume', 'snapshot') or no_device:
+ legacy_block_device['virtual_name'] = None
+ elif source_type == 'image':
+ # NOTE(ndipanov): Image bdms have no meaning in
+ # the legacy format - raise
+ raise exception.InvalidBDMForLegacy()
+
+ return legacy_block_device
+
+
+def is_safe_for_update(block_device_dict):
+ """Determine if passed dict is a safe subset for update.
+
+ Safe subset in this case means a safe subset of both legacy
+ and new versions of data, that can be passed to an UPDATE query
+ without any transformation.
+ """
+ fields = set(block_device_dict.keys())
+ return fields <= (bdm_new_fields |
+ bdm_db_inherited_fields |
+ bdm_db_only_fields)
+
+
+def create_image_bdm(image_ref, boot_index=0):
+ """Create a block device dict based on the image_ref.
+
+ This is useful in the API layer to keep the compatibility
+ with having an image_ref as a field in the instance requests
+ """
+ return BlockDeviceDict(
+ {'source_type': 'image',
+ 'image_id': image_ref,
+ 'delete_on_termination': True,
+ 'boot_index': boot_index,
+ 'device_type': 'disk',
+ 'destination_type': 'local'})
+
+
+def legacy_mapping(block_device_mapping):
+ """Transform a list of block devices of an instance back to the
+ legacy data format.
+ """
+
+ legacy_block_device_mapping = []
+
+ for bdm in block_device_mapping:
+ try:
+ legacy_block_device = BlockDeviceDict(bdm).legacy()
+ except exception.InvalidBDMForLegacy:
+ continue
+
+ legacy_block_device_mapping.append(legacy_block_device)
+
+ # Re-enumerate the ephemeral devices
+ for i, dev in enumerate(dev for dev in legacy_block_device_mapping
+ if dev['virtual_name'] and
+ is_ephemeral(dev['virtual_name'])):
+ dev['virtual_name'] = dev['virtual_name'][:-1] + str(i)
+
+ return legacy_block_device_mapping
+
+
def properties_root_device_name(properties):
"""get root device name from image meta data.
If it isn't specified, return None.
@@ -61,7 +237,8 @@ def ephemeral_num(ephemeral_name):
def is_swap_or_ephemeral(device_name):
- return device_name == 'swap' or is_ephemeral(device_name)
+ return (device_name and
+ (device_name == 'swap' or is_ephemeral(device_name)))
def mappings_prepend_dev(mappings):
diff --git a/nova/cells/messaging.py b/nova/cells/messaging.py
index 319067836..6f4183f5d 100644
--- a/nova/cells/messaging.py
+++ b/nova/cells/messaging.py
@@ -813,12 +813,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)
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 dd757c818..e65d8f490 100644
--- a/nova/cells/rpcapi.py
+++ b/nova/cells/rpcapi.py
@@ -33,6 +33,11 @@ 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 +54,27 @@ 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()
'''
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):
@@ -97,7 +114,7 @@ class CellsAPI(rpc_proxy.RpcProxy):
build_inst_kwargs['image'])
self.cast(ctxt, self.make_msg('build_instances',
build_inst_kwargs=build_inst_kwargs),
- version=1.8)
+ version='1.8')
def instance_update_at_top(self, ctxt, instance):
"""Update instance at API level."""
diff --git a/nova/cells/scheduler.py b/nova/cells/scheduler.py
index c54b9b578..08f485189 100644
--- a/nova/cells/scheduler.py
+++ b/nova/cells/scheduler.py
@@ -175,9 +175,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 +215,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 b8fd0570b..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')
@@ -58,7 +54,8 @@ class MuteChildWeigher(weights.BaseCellWeigher):
def _weigh_object(self, cell, weight_properties):
"""Check cell against the last_seen timestamp that indicates the time
that the most recent capability or capacity update was received from
- the given cell."""
+ the given cell.
+ """
last_seen = cell.last_seen
secs = CONF.cells.mute_child_interval
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/cloudpipe/pipelib.py b/nova/cloudpipe/pipelib.py
index 0727528c2..db79d4d42 100644
--- a/nova/cloudpipe/pipelib.py
+++ b/nova/cloudpipe/pipelib.py
@@ -43,9 +43,11 @@ cloudpipe_opts = [
cfg.StrOpt('vpn_image_id',
default='0',
help='image id used when starting up a cloudpipe vpn server'),
- cfg.StrOpt('vpn_instance_type',
+ cfg.StrOpt('vpn_flavor',
+ # Deprecated in Havana
+ deprecated_name='vpn_instance_type',
default='m1.tiny',
- help=_('Instance type for vpn instances')),
+ help=_('Flavor for vpn instances')),
cfg.StrOpt('boot_script_template',
default=paths.basedir_def('nova/cloudpipe/bootscript.template'),
help=_('Template for cloudpipe instance boot script')),
@@ -126,8 +128,8 @@ class CloudPipe(object):
LOG.debug(_("Launching VPN for %s") % (context.project_id))
key_name = self.setup_key_pair(context)
group_name = self.setup_security_group(context)
- instance_type = flavors.get_instance_type_by_name(
- CONF.vpn_instance_type)
+ instance_type = flavors.get_flavor_by_name(
+ CONF.vpn_flavor)
instance_name = '%s%s' % (context.project_id, CONF.vpn_key_suffix)
user_data = self.get_encoded_zip(context.project_id)
return self.compute_api.create(context,
diff --git a/nova/cmd/baremetal_deploy_helper.py b/nova/cmd/baremetal_deploy_helper.py
index d63d06ee9..7b9b51e11 100644
--- a/nova/cmd/baremetal_deploy_helper.py
+++ b/nova/cmd/baremetal_deploy_helper.py
@@ -32,6 +32,7 @@ from wsgiref import simple_server
from nova import config
from nova import context as nova_context
+from nova.openstack.common import excutils
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
from nova import utils
@@ -90,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)
@@ -186,7 +188,12 @@ def work_on_disk(dev, root_mb, swap_mb, image_path):
return
dd(image_path, root_part)
mkswap(swap_part)
- root_uuid = block_uuid(root_part)
+
+ try:
+ 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.")
return root_uuid
@@ -202,10 +209,11 @@ def deploy(address, port, iqn, lun, image_path, pxe_config_path,
try:
root_uuid = work_on_disk(dev, root_mb, swap_mb, image_path)
except processutils.ProcessExecutionError as err:
- # 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)
+ 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)
finally:
logout_iscsi(address, port, iqn)
switch_pxe_config(pxe_config_path, root_uuid)
@@ -280,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: ' + err_msg)
+
context = nova_context.get_admin_context()
d = db.bm_node_get(context, node_id)
diff --git a/nova/cmd/baremetal_manage.py b/nova/cmd/baremetal_manage.py
index e1224664a..e28289f8d 100644
--- a/nova/cmd/baremetal_manage.py
+++ b/nova/cmd/baremetal_manage.py
@@ -101,8 +101,10 @@ CATEGORIES = {
def methods_of(obj):
- """Get all callable methods of an object that don't start with underscore
- returns a list of tuples of the form (method_name, method)"""
+ """Get all callable methods of an object that don't start with underscore.
+
+ returns a list of tuples of the form (method_name, method)
+ """
result = []
for i in dir(obj):
if callable(getattr(obj, i)) and not i.startswith('_'):
diff --git a/nova/cmd/compute.py b/nova/cmd/compute.py
index 0aae286a4..89b7e705a 100644
--- a/nova/cmd/compute.py
+++ b/nova/cmd/compute.py
@@ -23,9 +23,12 @@ import traceback
from oslo.config import cfg
+from nova.conductor import rpcapi as conductor_rpcapi
from nova import config
import nova.db.api
from nova import exception
+from nova import objects
+from nova.objects import base as objects_base
from nova.openstack.common import log as logging
from nova import service
from nova import utils
@@ -50,12 +53,15 @@ def block_db_access():
def main():
+ objects.register_all()
config.parse_args(sys.argv)
logging.setup('nova')
utils.monkey_patch()
if not CONF.conductor.use_local:
block_db_access()
+ objects_base.NovaObject.indirection_api = \
+ conductor_rpcapi.ConductorAPI()
server = service.Service.create(binary='nova-compute',
topic=CONF.compute_topic,
diff --git a/nova/cmd/conductor.py b/nova/cmd/conductor.py
index b9723f2d2..3fc25eb8c 100644
--- a/nova/cmd/conductor.py
+++ b/nova/cmd/conductor.py
@@ -21,6 +21,7 @@ import sys
from oslo.config import cfg
from nova import config
+from nova import objects
from nova.openstack.common import log as logging
from nova import service
from nova import utils
@@ -30,6 +31,7 @@ CONF.import_opt('topic', 'nova.conductor.api', group='conductor')
def main():
+ objects.register_all()
config.parse_args(sys.argv)
logging.setup("nova")
utils.monkey_patch()
diff --git a/nova/cmd/manage.py b/nova/cmd/manage.py
index 599b9a299..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
@@ -139,19 +138,22 @@ class ShellCommands(object):
def bpython(self):
"""Runs a bpython shell.
- Falls back to Ipython/python shell if unavailable"""
+ Falls back to Ipython/python shell if unavailable
+ """
self.run('bpython')
def ipython(self):
"""Runs an Ipython shell.
- Falls back to Python shell if unavailable"""
+ Falls back to Python shell if unavailable
+ """
self.run('ipython')
def python(self):
"""Runs a python shell.
- Falls back to Python shell if unavailable"""
+ Falls back to Python shell if unavailable
+ """
self.run('python')
@args('--shell', metavar='<bpython|ipython|python >',
@@ -193,7 +195,9 @@ class ShellCommands(object):
@args('--path', metavar='<path>', help='Script path')
def script(self, path):
"""Runs the script from the specified path with flags set properly.
- arguments: path"""
+
+ arguments: path
+ """
exec(compile(open(path).read(), path, 'exec'), locals(), globals())
@@ -335,13 +339,17 @@ class FixedIpCommands(object):
@args('--address', metavar='<ip address>', help='IP address')
def reserve(self, address):
"""Mark fixed ip as reserved
- arguments: address"""
+
+ arguments: address
+ """
return self._set_reserved(address, True)
@args('--address', metavar='<ip address>', help='IP address')
def unreserve(self, address):
"""Mark fixed ip as free to use
- arguments: address"""
+
+ arguments: address
+ """
return self._set_reserved(address, False)
def _set_reserved(self, address, reserved):
@@ -421,8 +429,10 @@ class FloatingIpCommands(object):
@args('--host', metavar='<host>', help='Host')
def list(self, host=None):
- """Lists all floating ips (optionally by host)
- Note: if host is given, only active floating IPs are returned"""
+ """Lists all floating ips (optionally by host).
+
+ Note: if host is given, only active floating IPs are returned
+ """
ctxt = context.get_admin_context()
try:
if host is None:
@@ -617,7 +627,7 @@ class VmCommands(object):
context.get_admin_context(), host)
for instance in instances:
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
print ("%-10s %-15s %-10s %-10s %-26s %-9s %-9s %-9s"
" %-10s %-10s %-10s %-5d" % (instance['display_name'],
instance['host'],
@@ -644,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:
@@ -810,7 +819,8 @@ class HostCommands(object):
def list(self, zone=None):
"""Show a list of all physical hosts. Filter by zone.
- args: [zone]"""
+ args: [zone]
+ """
print "%-25s\t%-15s" % (_('host'),
_('zone'))
ctxt = context.get_admin_context()
@@ -928,9 +938,9 @@ class InstanceTypeCommands(object):
"""Lists all active or specific instance types / flavors."""
try:
if name is None:
- inst_types = flavors.get_all_types()
+ inst_types = flavors.get_all_flavors()
else:
- inst_types = flavors.get_instance_type_by_name(name)
+ inst_types = flavors.get_flavor_by_name(name)
except db_exc.DBError as e:
_db_error(e)
if isinstance(inst_types.values()[0], dict):
@@ -946,7 +956,7 @@ class InstanceTypeCommands(object):
"""Add key/value pair to specified instance type's extra_specs."""
try:
try:
- inst_type = flavors.get_instance_type_by_name(name)
+ inst_type = flavors.get_flavor_by_name(name)
except exception.InstanceTypeNotFoundByName as e:
print e
return(2)
@@ -968,7 +978,7 @@ class InstanceTypeCommands(object):
"""Delete the specified extra spec for instance type."""
try:
try:
- inst_type = flavors.get_instance_type_by_name(name)
+ inst_type = flavors.get_flavor_by_name(name)
except exception.InstanceTypeNotFoundByName as e:
print e
return(2)
@@ -991,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."""
@@ -1008,7 +1017,9 @@ class AgentBuildCommands(object):
def list(self, hypervisor=None):
"""Lists all agent builds.
- arguments: <none>"""
+
+ arguments: <none>
+ """
fmt = "%-10s %-8s %12s %s"
ctxt = context.get_admin_context()
by_hypervisor = {}
@@ -1178,7 +1189,9 @@ CATEGORIES = {
def methods_of(obj):
"""Get all callable methods of an object that don't start with underscore
- returns a list of tuples of the form (method_name, method)"""
+
+ returns a list of tuples of the form (method_name, method)
+ """
result = []
for i in dir(obj):
if callable(getattr(obj, i)) and not i.startswith('_'):
diff --git a/nova/cmd/novnc.py b/nova/cmd/novnc.py
new file mode 100644
index 000000000..c381984da
--- /dev/null
+++ b/nova/cmd/novnc.py
@@ -0,0 +1,44 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# 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 oslo.config import cfg
+
+opts = [
+ cfg.BoolOpt('record',
+ default=False,
+ help='Record sessions to FILE.[session_number]'),
+ cfg.BoolOpt('daemon',
+ default=False,
+ help='Become a daemon (background process)'),
+ cfg.BoolOpt('ssl_only',
+ default=False,
+ help='Disallow non-encrypted connections'),
+ cfg.BoolOpt('source_is_ipv6',
+ default=False,
+ help='Source is ipv6'),
+ cfg.StrOpt('cert',
+ default='self.pem',
+ help='SSL certificate file'),
+ cfg.StrOpt('key',
+ default=None,
+ help='SSL key file (if separate from cert)'),
+ cfg.StrOpt('web',
+ default='/usr/share/spice-html5',
+ help='Run webserver on same port. Serve files from DIR.'),
+ ]
+
+cfg.CONF.register_cli_opts(opts)
diff --git a/nova/cmd/novncproxy.py b/nova/cmd/novncproxy.py
index 449aea76e..21d878651 100644
--- a/nova/cmd/novncproxy.py
+++ b/nova/cmd/novncproxy.py
@@ -30,27 +30,6 @@ from nova.console import websocketproxy
opts = [
- cfg.BoolOpt('record',
- default=False,
- help='Record sessions to FILE.[session_number]'),
- cfg.BoolOpt('daemon',
- default=False,
- help='Become a daemon (background process)'),
- cfg.BoolOpt('ssl_only',
- default=False,
- help='Disallow non-encrypted connections'),
- cfg.BoolOpt('source_is_ipv6',
- default=False,
- help='Source is ipv6'),
- cfg.StrOpt('cert',
- default='self.pem',
- help='SSL certificate file'),
- cfg.StrOpt('key',
- default=None,
- help='SSL key file (if separate from cert)'),
- cfg.StrOpt('web',
- default='/usr/share/novnc',
- help='Run webserver on same port. Serve files from DIR.'),
cfg.StrOpt('novncproxy_host',
default='0.0.0.0',
help='Host on which to listen for incoming requests'),
@@ -61,11 +40,18 @@ opts = [
CONF = cfg.CONF
CONF.register_cli_opts(opts)
-CONF.import_opt('debug', 'nova.openstack.common.log')
+CONF.import_opt('record', 'nova.cmd.novnc')
+CONF.import_opt('daemon', 'nova.cmd.novnc')
+CONF.import_opt('ssl_only', 'nova.cmd.novnc')
+CONF.import_opt('source_is_ipv6', 'nova.cmd.novnc')
+CONF.import_opt('cert', 'nova.cmd.novnc')
+CONF.import_opt('key', 'nova.cmd.novnc')
+CONF.import_opt('web', 'nova.cmd.novnc')
def main():
# Setup flags
+ CONF.set_default('web', '/usr/share/novnc')
config.parse_args(sys.argv)
if CONF.ssl_only and not os.path.exists(CONF.cert):
diff --git a/nova/cmd/spicehtml5proxy.py b/nova/cmd/spicehtml5proxy.py
index c6f2be53d..561c6e7aa 100644
--- a/nova/cmd/spicehtml5proxy.py
+++ b/nova/cmd/spicehtml5proxy.py
@@ -28,29 +28,7 @@ from oslo.config import cfg
from nova import config
from nova.console import websocketproxy
-
opts = [
- cfg.BoolOpt('record',
- default=False,
- help='Record sessions to FILE.[session_number]'),
- cfg.BoolOpt('daemon',
- default=False,
- help='Become a daemon (background process)'),
- cfg.BoolOpt('ssl_only',
- default=False,
- help='Disallow non-encrypted connections'),
- cfg.BoolOpt('source_is_ipv6',
- default=False,
- help='Source is ipv6'),
- cfg.StrOpt('cert',
- default='self.pem',
- help='SSL certificate file'),
- cfg.StrOpt('key',
- default=None,
- help='SSL key file (if separate from cert)'),
- cfg.StrOpt('web',
- default='/usr/share/spice-html5',
- help='Run webserver on same port. Serve files from DIR.'),
cfg.StrOpt('spicehtml5proxy_host',
default='0.0.0.0',
help='Host on which to listen for incoming requests'),
@@ -59,13 +37,19 @@ opts = [
help='Port on which to listen for incoming requests'),
]
+CONF = cfg.CONF
+CONF.register_cli_opts(opts)
+CONF.import_opt('record', 'nova.cmd.novnc')
+CONF.import_opt('daemon', 'nova.cmd.novnc')
+CONF.import_opt('ssl_only', 'nova.cmd.novnc')
+CONF.import_opt('source_is_ipv6', 'nova.cmd.novnc')
+CONF.import_opt('cert', 'nova.cmd.novnc')
+CONF.import_opt('key', 'nova.cmd.novnc')
+CONF.import_opt('web', 'nova.cmd.novnc')
+
def main():
# Setup flags
-
- CONF = cfg.CONF
- CONF.register_cli_opts(opts)
- CONF.import_opt('debug', 'nova.openstack.common.log')
config.parse_args(sys.argv)
if CONF.ssl_only and not os.path.exists(CONF.cert):
diff --git a/nova/compute/api.py b/nova/compute/api.py
index f676c9797..0a9b0e67b 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
@@ -539,7 +548,9 @@ class API(base.Base):
files_to_inject):
self._check_metadata_properties_quota(context, metadata)
self._check_injected_file_quota(context, files_to_inject)
- self._check_requested_image(context, image_id, image, instance_type)
+ if image_id is not None:
+ self._check_requested_image(context, image_id,
+ image, instance_type)
def _validate_and_build_base_options(self, context, instance_type,
image, image_href, image_id,
@@ -554,7 +565,8 @@ class API(base.Base):
block_device_mapping,
auto_disk_config, reservation_id):
"""Verify all the input parameters regardless of the provisioning
- strategy being performed."""
+ strategy being performed.
+ """
if min_count > 1 or max_count > 1:
if any(map(lambda bdm: 'volume_id' in bdm, block_device_mapping)):
msg = _('Cannot attach one or more volumes to multiple'
@@ -597,7 +609,7 @@ class API(base.Base):
root_device_name = block_device.properties_root_device_name(
image.get('properties', {}))
- system_metadata = flavors.save_instance_type_info(
+ system_metadata = flavors.save_flavor_info(
dict(), instance_type)
base_options = {
@@ -686,6 +698,26 @@ class API(base.Base):
QUOTAS.commit(context, quota_reservations)
return instances
+ def _get_volume(self, context, block_device_mapping):
+ """If we are booting from a volume, we need to get the
+ volume details from Cinder and make sure we pass the
+ metadata back accordingly.
+ """
+ if not block_device_mapping:
+ return {}
+
+ for bdm in block_device_mapping:
+ if bdm.get('device_name') == "vda":
+ volume_id = bdm.get('volume_id')
+ if volume_id is not None:
+ try:
+ volume = self.volume_api.get(context,
+ volume_id)
+ return volume
+ except Exception:
+ raise exception.InvalidBDMVolume(volume_id)
+ return None
+
def _create_instance(self, context, instance_type,
image_href, kernel_id, ramdisk_id,
min_count, max_count,
@@ -699,7 +731,8 @@ class API(base.Base):
reservation_id=None, scheduler_hints=None):
"""Verify all the input parameters regardless of the provisioning
strategy being performed and schedule the instance(s) for
- creation."""
+ creation.
+ """
# Normalize and setup some parameters
if reservation_id is None:
@@ -709,8 +742,14 @@ class API(base.Base):
max_count = max_count or min_count
block_device_mapping = block_device_mapping or []
if not instance_type:
- instance_type = flavors.get_default_instance_type()
- image_id, image = self._get_image(context, image_href)
+ instance_type = flavors.get_default_flavor()
+
+ if image_href:
+ image_id, image = self._get_image(context, image_href)
+ else:
+ image_id = None
+ image = self._get_volume(context,
+ block_device_mapping)
handle_az = self._handle_availability_zone
availability_zone, forced_host, forced_node = handle_az(
@@ -832,8 +871,9 @@ class API(base.Base):
values)
def _validate_bdm(self, context, instance):
- for bdm in self.db.block_device_mapping_get_all_by_instance(
- context, instance['uuid']):
+ for bdm in block_device.legacy_mapping(
+ self.db.block_device_mapping_get_all_by_instance(
+ context, instance['uuid'])):
# NOTE(vish): For now, just make sure the volumes are accessible.
# Additionally, check that the volume can be attached to this
# instance.
@@ -869,6 +909,16 @@ class API(base.Base):
continue
self._update_block_device_mapping(context,
instance_type, instance_uuid, mapping)
+ # NOTE(ndipanov): Create an image bdm - at the moment
+ # this is not used but is done for easier transition
+ # in the future.
+ if (instance['image_ref'] and not
+ self.is_volume_backed_instance(context, instance, None)):
+ image_bdm = block_device.create_image_bdm(instance['image_ref'])
+ image_bdm['instance_uuid'] = instance_uuid
+ self.db.block_device_mapping_update_or_create(context,
+ image_bdm,
+ legacy=False)
def _populate_instance_shutdown_terminate(self, instance, image,
block_device_mapping):
@@ -1077,8 +1127,9 @@ class API(base.Base):
return
host = instance['host']
- bdms = self.db.block_device_mapping_get_all_by_instance(
- context, instance['uuid'])
+ bdms = block_device.legacy_mapping(
+ self.db.block_device_mapping_get_all_by_instance(
+ context, instance['uuid']))
reservations = None
if context.is_admin and context.project_id != instance['project_id']:
@@ -1204,9 +1255,8 @@ class API(base.Base):
new_instance['instance_type_id'] ==
migration_ref['new_instance_type_id']):
old_inst_type_id = migration_ref['old_instance_type_id']
- get_inst_type_by_id = flavors.get_instance_type
try:
- old_inst_type = get_inst_type_by_id(old_inst_type_id)
+ old_inst_type = flavors.get_flavor(old_inst_type_id)
except exception.InstanceTypeNotFound:
LOG.warning(_("instance type %(old_inst_type_id)d "
"not found") % locals())
@@ -1264,7 +1314,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'),
@@ -1288,7 +1339,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)
@@ -1300,7 +1352,7 @@ class API(base.Base):
def restore(self, context, instance):
"""Restore a previously deleted (but not reclaimed) instance."""
# Reserve quotas
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
num_instances, quota_reservations = self._check_num_instances_quota(
context, instance_type, 1, 1)
@@ -1328,7 +1380,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)
@@ -1343,10 +1396,9 @@ class API(base.Base):
"""Stop an instance."""
LOG.debug(_("Going to try to stop instance"), instance=instance)
- instance = self.update(context, instance,
- task_state=task_states.POWERING_OFF,
- expected_task_state=None,
- progress=0)
+ instance.task_state = task_states.POWERING_OFF
+ instance.progress = 0
+ instance.save(expected_task_state=None)
self._record_action_start(context, instance, instance_actions.STOP)
@@ -1360,9 +1412,8 @@ class API(base.Base):
"""Start an instance."""
LOG.debug(_("Going to try to start instance"), instance=instance)
- instance = self.update(context, instance,
- task_state=task_states.POWERING_ON,
- expected_task_state=None)
+ instance.task_state = task_states.POWERING_ON
+ instance.save(expected_task_state=None)
self._record_action_start(context, instance, instance_actions.START)
# TODO(yamahata): injected_files isn't supported right now.
@@ -1380,7 +1431,7 @@ class API(base.Base):
#NOTE(bcwaldon): this doesn't really belong in this class
def get_instance_type(self, context, instance_type_id):
"""Get an instance type by instance type id."""
- return flavors.get_instance_type(instance_type_id)
+ return flavors.get_flavor(instance_type_id)
def get(self, context, instance_id):
"""Get a single instance with the given instance_id."""
@@ -1437,7 +1488,7 @@ class API(base.Base):
filters = {}
def _remap_flavor_filter(flavor_id):
- instance_type = flavors.get_instance_type_by_flavor_id(
+ instance_type = flavors.get_flavor_by_flavor_id(
flavor_id)
filters['instance_type_id'] = instance_type['id']
@@ -1653,7 +1704,8 @@ class API(base.Base):
properties['root_device_name'] = instance['root_device_name']
properties.update(extra_properties or {})
- bdms = self.get_instance_bdms(context, instance)
+ bdms = block_device.legacy_mapping(
+ self.get_instance_bdms(context, instance))
mapping = []
for bdm in bdms:
@@ -1715,7 +1767,7 @@ class API(base.Base):
#disk format of vhd is non-shrinkable
if orig_image.get('disk_format') == 'vhd':
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
min_disk = instance_type['root_gb']
else:
#set new image values to the original image values
@@ -1726,8 +1778,9 @@ class API(base.Base):
return min_ram, min_disk
def _get_block_device_info(self, context, instance_uuid):
- bdms = self.db.block_device_mapping_get_all_by_instance(context,
- instance_uuid)
+ bdms = block_device.legacy_mapping(
+ self.db.block_device_mapping_get_all_by_instance(context,
+ instance_uuid))
block_device_mapping = []
for bdm in bdms:
if not bdm['volume_id']:
@@ -1749,7 +1802,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,
@@ -1785,14 +1839,15 @@ 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."""
orig_image_ref = instance['image_ref'] or ''
files_to_inject = kwargs.pop('files_to_inject', [])
metadata = kwargs.get('metadata', {})
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
image_id, image = self._get_image(context, image_href)
@@ -1844,8 +1899,10 @@ class API(base.Base):
# system metadata... and copy in the properties for the new image.
orig_sys_metadata = _reset_image_metadata()
- bdms = self.db.block_device_mapping_get_all_by_instance(context,
- instance['uuid'])
+ bdms = block_device.legacy_mapping(
+ self.db.block_device_mapping_get_all_by_instance(
+ context,
+ instance['uuid']))
self._record_action_start(context, instance, instance_actions.REBUILD)
@@ -1959,9 +2016,9 @@ class API(base.Base):
Calculate deltas required to reverse a prior upsizing
quota adjustment.
"""
- old_instance_type = flavors.get_instance_type(
+ old_instance_type = flavors.get_flavor(
migration_ref['old_instance_type_id'])
- new_instance_type = flavors.get_instance_type(
+ new_instance_type = flavors.get_flavor(
migration_ref['new_instance_type_id'])
return API._resize_quota_delta(context, new_instance_type,
@@ -1972,16 +2029,18 @@ class API(base.Base):
"""
Calculate deltas required to adjust quota for an instance downsize.
"""
- old_instance_type = flavors.extract_instance_type(instance,
+ old_instance_type = flavors.extract_flavor(instance,
'old_')
- new_instance_type = flavors.extract_instance_type(instance,
+ new_instance_type = flavors.extract_flavor(instance,
'new_')
return API._resize_quota_delta(context, new_instance_type,
old_instance_type, 1, -1)
@staticmethod
- def _reserve_quota_delta(context, deltas):
- return QUOTAS.reserve(context, **deltas) if deltas else None
+ def _reserve_quota_delta(context, deltas, project_id=None):
+ if not deltas:
+ return
+ return QUOTAS.reserve(context, project_id=project_id, **deltas)
@wrap_check_policy
@check_instance_lock
@@ -1994,7 +2053,7 @@ class API(base.Base):
the original flavor_id. If flavor_id is not None, the instance should
be migrated to a new host and resized to the new flavor_id.
"""
- current_instance_type = flavors.extract_instance_type(instance)
+ current_instance_type = flavors.extract_flavor(instance)
# If flavor_id is not provided, only migrate the instance.
if not flavor_id:
@@ -2002,7 +2061,7 @@ class API(base.Base):
instance=instance)
new_instance_type = current_instance_type
else:
- new_instance_type = flavors.get_instance_type_by_flavor_id(
+ new_instance_type = flavors.get_flavor_by_flavor_id(
flavor_id, read_deleted="no")
current_instance_type_name = current_instance_type['name']
@@ -2037,7 +2096,9 @@ class API(base.Base):
deltas = self._upsize_quota_delta(context, new_instance_type,
current_instance_type)
try:
- reservations = self._reserve_quota_delta(context, deltas)
+ reservations = self._reserve_quota_delta(context, deltas,
+ project_id=instance[
+ 'project_id'])
except exception.OverQuota as exc:
quotas = exc.kwargs['quotas']
usages = exc.kwargs['usages']
@@ -2083,7 +2144,8 @@ class API(base.Base):
# With cells, the best we can do right now is commit the reservations
# immediately...
if CONF.cells.enable and reservations:
- QUOTAS.commit(context, reservations)
+ QUOTAS.commit(context, reservations,
+ project_id=instance['project_id'])
reservations = []
args = {
@@ -2176,11 +2238,13 @@ 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."""
- bdms = self.get_instance_bdms(context, instance)
+ bdms = block_device.legacy_mapping(
+ self.get_instance_bdms(context, instance))
for bdm in bdms:
if bdm['volume_id']:
volume = self.volume_api.get(context, bdm['volume_id'])
@@ -2474,7 +2538,8 @@ class API(base.Base):
return True
if bdms is None:
- bdms = self.get_instance_bdms(context, instance)
+ bdms = block_device.legacy_mapping(
+ self.get_instance_bdms(context, instance))
for bdm in bdms:
if (block_device.strip_dev(bdm['device_name']) ==
@@ -2571,7 +2636,8 @@ class HostAPI(base.Base):
def set_host_maintenance(self, context, host_name, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
host_name = self._assert_host_exists(context, host_name)
return self.rpcapi.host_maintenance_mode(context,
host_param=host_name, mode=mode, host=host_name)
@@ -2605,10 +2671,11 @@ class HostAPI(base.Base):
return self.db.service_get_by_compute_host(context, host_name)
def service_update(self, context, host_name, binary, params_to_update):
- """
- Enable / Disable a service.
+ """Enable / Disable a service.
+
For compute services, this stops new builds and migrations going to
- the host."""
+ the host.
+ """
service = db.service_get_by_args(context, host_name, binary)
return db.service_update(context, service['id'], params_to_update)
@@ -2752,24 +2819,18 @@ class AggregateAPI(base.Base):
class KeypairAPI(base.Base):
- """Sub-set of the Compute Manager API for managing key pairs."""
- def __init__(self, **kwargs):
- super(KeypairAPI, self).__init__(**kwargs)
+ """Subset of the Compute Manager API for managing key pairs."""
- def _validate_keypair_name(self, context, user_id, key_name):
- safechars = "_- " + string.digits + string.ascii_letters
- clean_value = "".join(x for x in key_name if x in safechars)
+ def _validate_new_key_pair(self, context, user_id, key_name):
+ safe_chars = "_- " + string.digits + string.ascii_letters
+ clean_value = "".join(x for x in key_name if x in safe_chars)
if clean_value != key_name:
- msg = _("Keypair name contains unsafe characters")
- raise exception.InvalidKeypair(explanation=msg)
+ raise exception.InvalidKeypair(
+ _("Keypair name contains unsafe characters"))
if not 0 < len(key_name) < 256:
- msg = _('Keypair name must be between 1 and 255 characters long')
- raise exception.InvalidKeypair(explanation=msg)
-
- def import_key_pair(self, context, user_id, key_name, public_key):
- """Import a key pair using an existing public key."""
- self._validate_keypair_name(context, user_id, key_name)
+ raise exception.InvalidKeypair(
+ _('Keypair name must be between 1 and 255 characters long'))
count = QUOTAS.count(context, 'key_pairs', user_id)
try:
@@ -2777,11 +2838,11 @@ class KeypairAPI(base.Base):
except exception.OverQuota:
raise exception.KeypairLimitExceeded()
- try:
- fingerprint = crypto.generate_fingerprint(public_key)
- except exception.InvalidKeypair:
- msg = _("Keypair data is invalid")
- raise exception.InvalidKeypair(explanation=msg)
+ def import_key_pair(self, context, user_id, key_name, public_key):
+ """Import a key pair using an existing public key."""
+ self._validate_new_key_pair(context, user_id, key_name)
+
+ fingerprint = crypto.generate_fingerprint(public_key)
keypair = {'user_id': user_id,
'name': key_name,
@@ -2793,13 +2854,7 @@ class KeypairAPI(base.Base):
def create_key_pair(self, context, user_id, key_name):
"""Create a new key pair."""
- self._validate_keypair_name(context, user_id, key_name)
-
- count = QUOTAS.count(context, 'key_pairs', user_id)
- try:
- QUOTAS.limit_check(context, key_pairs=count + 1)
- except exception.OverQuota:
- raise exception.KeypairLimitExceeded()
+ self._validate_new_key_pair(context, user_id, key_name)
private_key, public_key, fingerprint = crypto.generate_key_pair()
@@ -2808,6 +2863,7 @@ class KeypairAPI(base.Base):
'fingerprint': fingerprint,
'public_key': public_key,
'private_key': private_key}
+
self.db.key_pair_create(context, keypair)
return keypair
@@ -2815,24 +2871,20 @@ class KeypairAPI(base.Base):
"""Delete a keypair by name."""
self.db.key_pair_destroy(context, user_id, key_name)
+ def _get_key_pair(self, key_pair):
+ return {'name': key_pair['name'],
+ 'public_key': key_pair['public_key'],
+ 'fingerprint': key_pair['fingerprint']}
+
def get_key_pairs(self, context, user_id):
"""List key pairs."""
key_pairs = self.db.key_pair_get_all_by_user(context, user_id)
- rval = []
- for key_pair in key_pairs:
- rval.append({
- 'name': key_pair['name'],
- 'public_key': key_pair['public_key'],
- 'fingerprint': key_pair['fingerprint'],
- })
- return rval
+ return [self._get_key_pair(k) for k in key_pairs]
def get_key_pair(self, context, user_id, key_name):
"""Get a keypair by name."""
key_pair = self.db.key_pair_get(context, user_id, key_name)
- return {'name': key_pair['name'],
- 'public_key': key_pair['public_key'],
- 'fingerprint': key_pair['fingerprint']}
+ return self._get_key_pair(key_pair)
class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
@@ -3207,11 +3259,12 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
self.security_group_rpcapi.refresh_instance_security_rules(
context, instance['host'], instance)
- def get_instance_security_groups(self, context, instance_id,
- instance_uuid=None, detailed=False):
+ def get_instance_security_groups(self, context, instance_uuid,
+ detailed=False):
if detailed:
- return self.db.security_group_get_by_instance(context, instance_id)
- instance = self.db.instance_get(context, instance_id)
+ return self.db.security_group_get_by_instance(context,
+ instance_uuid)
+ instance = self.db.instance_get_by_uuid(context, instance_uuid)
groups = instance.get('security_groups')
if groups:
return [{'name': group['name']} for group in groups]
diff --git a/nova/compute/cells_api.py b/nova/compute/cells_api.py
index 5ac5dd475..6f1e12480 100644
--- a/nova/compute/cells_api.py
+++ b/nova/compute/cells_api.py
@@ -350,12 +350,12 @@ class ComputeCellsAPI(compute_api.API):
# specified flavor_id is valid and exists. We'll need to load
# it again, but that should be safe.
- old_instance_type = flavors.extract_instance_type(instance)
+ old_instance_type = flavors.extract_flavor(instance)
if not flavor_id:
new_instance_type = old_instance_type
else:
- new_instance_type = flavors.get_instance_type_by_flavor_id(
+ new_instance_type = flavors.get_flavor_by_flavor_id(
flavor_id, read_deleted="no")
# NOTE(johannes): Later, when the resize is confirmed or reverted,
diff --git a/nova/compute/flavors.py b/nova/compute/flavors.py
index 7177f26bd..59d5d5715 100644
--- a/nova/compute/flavors.py
+++ b/nova/compute/flavors.py
@@ -33,14 +33,16 @@ from nova.openstack.common import log as logging
from nova.openstack.common import strutils
from nova import utils
-instance_type_opts = [
- cfg.StrOpt('default_instance_type',
+flavor_opts = [
+ cfg.StrOpt('default_flavor',
+ # Deprecated in Havana
+ deprecated_name='default_instance_type',
default='m1.small',
- help='default instance type to use, testing only'),
+ help='default flavor to use, testing only'),
]
CONF = cfg.CONF
-CONF.register_opts(instance_type_opts)
+CONF.register_opts(flavor_opts)
LOG = logging.getLogger(__name__)
@@ -52,7 +54,7 @@ def _int_or_none(val):
return int(val)
-system_metadata_instance_type_props = {
+system_metadata_flavor_props = {
'id': int,
'name': str,
'memory_mb': int,
@@ -68,7 +70,7 @@ system_metadata_instance_type_props = {
def create(name, memory, vcpus, root_gb, ephemeral_gb=0, flavorid=None,
swap=0, rxtx_factor=1.0, is_public=True):
- """Creates instance types."""
+ """Creates flavors."""
if not flavorid:
flavorid = uuid.uuid4()
@@ -137,7 +139,7 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb=0, flavorid=None,
def destroy(name):
- """Marks instance types as deleted."""
+ """Marks flavor as deleted."""
try:
assert name is not None
db.instance_type_destroy(context.get_admin_context(), name)
@@ -146,10 +148,10 @@ def destroy(name):
raise exception.InstanceTypeNotFoundByName(instance_type_name=name)
-def get_all_types(ctxt=None, inactive=False, filters=None):
+def get_all_flavors(ctxt=None, inactive=False, filters=None):
"""Get all non-deleted flavors.
- Pass true as argument if you want deleted instance types returned also.
+ Pass true as argument if you want deleted flavors returned also.
"""
if ctxt is None:
ctxt = context.get_admin_context()
@@ -162,19 +164,17 @@ def get_all_types(ctxt=None, inactive=False, filters=None):
inst_type_dict[inst_type['name']] = inst_type
return inst_type_dict
-get_all_flavors = get_all_types
+def get_default_flavor():
+ """Get the default flavor."""
+ name = CONF.default_flavor
+ return get_flavor_by_name(name)
-def get_default_instance_type():
- """Get the default instance type."""
- name = CONF.default_instance_type
- return get_instance_type_by_name(name)
-
-def get_instance_type(instance_type_id, ctxt=None, inactive=False):
- """Retrieves single instance type by id."""
+def get_flavor(instance_type_id, ctxt=None, inactive=False):
+ """Retrieves single flavor by id."""
if instance_type_id is None:
- return get_default_instance_type()
+ return get_default_flavor()
if ctxt is None:
ctxt = context.get_admin_context()
@@ -185,10 +185,10 @@ def get_instance_type(instance_type_id, ctxt=None, inactive=False):
return db.instance_type_get(ctxt, instance_type_id)
-def get_instance_type_by_name(name, ctxt=None):
- """Retrieves single instance type by name."""
+def get_flavor_by_name(name, ctxt=None):
+ """Retrieves single flavor by name."""
if name is None:
- return get_default_instance_type()
+ return get_default_flavor()
if ctxt is None:
ctxt = context.get_admin_context()
@@ -198,8 +198,8 @@ def get_instance_type_by_name(name, ctxt=None):
# TODO(termie): flavor-specific code should probably be in the API that uses
# flavors.
-def get_instance_type_by_flavor_id(flavorid, ctxt=None, read_deleted="yes"):
- """Retrieve instance type by flavorid.
+def get_flavor_by_flavor_id(flavorid, ctxt=None, read_deleted="yes"):
+ """Retrieve flavor by flavorid.
:raises: FlavorNotFound
"""
@@ -209,43 +209,44 @@ def get_instance_type_by_flavor_id(flavorid, ctxt=None, read_deleted="yes"):
return db.instance_type_get_by_flavor_id(ctxt, flavorid)
-def get_instance_type_access_by_flavor_id(flavorid, ctxt=None):
- """Retrieve instance type access list by flavor id."""
+def get_flavor_access_by_flavor_id(flavorid, ctxt=None):
+ """Retrieve flavor access list by flavor id."""
if ctxt is None:
ctxt = context.get_admin_context()
return db.instance_type_access_get_by_flavor_id(ctxt, flavorid)
-def add_instance_type_access(flavorid, projectid, ctxt=None):
- """Add instance type access for project."""
+def add_flavor_access(flavorid, projectid, ctxt=None):
+ """Add flavor access for project."""
if ctxt is None:
ctxt = context.get_admin_context()
return db.instance_type_access_add(ctxt, flavorid, projectid)
-def remove_instance_type_access(flavorid, projectid, ctxt=None):
- """Remove instance type access for project."""
+def remove_flavor_access(flavorid, projectid, ctxt=None):
+ """Remove flavor access for project."""
if ctxt is None:
ctxt = context.get_admin_context()
return db.instance_type_access_remove(ctxt, flavorid, projectid)
-def extract_instance_type(instance, prefix=''):
+def extract_flavor(instance, prefix=''):
"""Create an InstanceType-like object from instance's system_metadata
- information."""
+ information.
+ """
instance_type = {}
sys_meta = utils.instance_sys_meta(instance)
- for key, type_fn in system_metadata_instance_type_props.items():
+ for key, type_fn in system_metadata_flavor_props.items():
type_key = '%sinstance_type_%s' % (prefix, key)
instance_type[key] = type_fn(sys_meta[type_key])
return instance_type
-def save_instance_type_info(metadata, instance_type, prefix=''):
+def save_flavor_info(metadata, instance_type, prefix=''):
"""Save properties from instance_type into instance's system_metadata,
in the format of:
@@ -253,19 +254,21 @@ def save_instance_type_info(metadata, instance_type, prefix=''):
This can be used to update system_metadata in place from a type, as well
as stash information about another instance_type for later use (such as
- during resize)."""
+ during resize).
+ """
- for key in system_metadata_instance_type_props.keys():
+ for key in system_metadata_flavor_props.keys():
to_key = '%sinstance_type_%s' % (prefix, key)
metadata[to_key] = instance_type[key]
return metadata
-def delete_instance_type_info(metadata, *prefixes):
- """Delete instance_type information from instance's system_metadata
- by prefix."""
+def delete_flavor_info(metadata, *prefixes):
+ """Delete flavor instance_type information from instance's system_metadata
+ by prefix.
+ """
- for key in system_metadata_instance_type_props.keys():
+ for key in system_metadata_flavor_props.keys():
for prefix in prefixes:
to_key = '%sinstance_type_%s' % (prefix, key)
del metadata[to_key]
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 8a2ddf877..e0b2f38e8 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -27,6 +27,7 @@ terminating it.
"""
+
import base64
import contextlib
import functools
@@ -60,6 +61,7 @@ from nova import manager
from nova import network
from nova.network import model as network_model
from nova.network.security_group import openstack_driver
+from nova.objects import instance as instance_obj
from nova.openstack.common import excutils
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
@@ -266,6 +268,27 @@ def wrap_instance_event(function):
return decorated_function
+# TODO(danms): Remove me after havana
+def object_compat(function):
+ """Wraps a method that expects a new-world instance
+
+ This provides compatibility for callers passing old-style dict
+ instances.
+ """
+
+ @functools.wraps(function)
+ def decorated_function(self, context, **kwargs):
+ metas = ['metadata', 'system_metadata']
+ instance = kwargs['instance']
+ if isinstance(instance, dict):
+ kwargs['instance'] = instance_obj.Instance._from_db_object(
+ instance_obj.Instance(), instance, expected_attrs=metas)
+ kwargs['instance']._context = context
+ return function(self, context, **kwargs)
+
+ return decorated_function
+
+
def _get_image_meta(context, image_ref):
image_service, image_id = glance.get_remote_image_service(context,
image_ref)
@@ -282,14 +305,6 @@ class ComputeVirtAPI(virtapi.VirtAPI):
instance_uuid,
**updates)
- def instance_get_by_uuid(self, context, instance_uuid):
- return self._compute.conductor_api.instance_get_by_uuid(
- context, instance_uuid)
-
- def instance_get_all_by_host(self, context, host):
- return self._compute.conductor_api.instance_get_all_by_host(
- context, host)
-
def aggregate_get_by_host(self, context, host, key=None):
return self._compute.conductor_api.aggregate_get_by_host(context,
host, key=key)
@@ -328,7 +343,7 @@ class ComputeVirtAPI(virtapi.VirtAPI):
class ComputeManager(manager.SchedulerDependentManager):
"""Manages the running instances from creation to destruction."""
- RPC_API_VERSION = '2.28'
+ RPC_API_VERSION = '2.29'
def __init__(self, compute_driver=None, *args, **kwargs):
"""Load configuration options and connect to the hypervisor."""
@@ -360,9 +375,9 @@ class ComputeManager(manager.SchedulerDependentManager):
rt = self._resource_tracker_dict.get(nodename)
if not rt:
if nodename not in self.driver.get_available_nodes():
- msg = _("%(nodename)s is not a valid node managed by this "
- "compute host.") % locals()
- raise exception.NovaException(msg)
+ raise exception.NovaException(
+ _("%s is not a valid node managed by this "
+ "compute host.") % nodename)
rt = resource_tracker.ResourceTracker(self.host,
self.driver,
@@ -394,8 +409,10 @@ class ComputeManager(manager.SchedulerDependentManager):
instance_uuid=instance_uuid)
def _get_instances_on_driver(self, context, filters=None):
- """Return a list of instance records that match the instances found
- on the hypervisor.
+ """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
+ hypervisor.
"""
if not filters:
filters = {}
@@ -404,10 +421,6 @@ class ComputeManager(manager.SchedulerDependentManager):
filters['uuid'] = driver_uuids
local_instances = self.conductor_api.instance_get_all_by_filters(
context, filters, columns_to_join=[])
- local_instance_uuids = [inst['uuid'] for inst in local_instances]
- for uuid in set(driver_uuids) - set(local_instance_uuids):
- LOG.error(_('Instance %(uuid)s found in the hypervisor, but '
- 'not in the database'), locals())
return local_instances
except NotImplementedError:
pass
@@ -422,9 +435,6 @@ class ComputeManager(manager.SchedulerDependentManager):
for driver_instance in driver_instances:
instance = name_map.get(driver_instance)
if not instance:
- LOG.error(_('Instance %(driver_instance)s found in the '
- 'hypervisor, but not in the database'),
- locals())
continue
local_instances.append(instance)
return local_instances
@@ -446,7 +456,8 @@ class ComputeManager(manager.SchedulerDependentManager):
LOG.info(_('Deleting instance as its host ('
'%(instance_host)s) is not equal to our '
'host (%(our_host)s).'),
- locals(), instance=instance)
+ {'instance_host': instance_host,
+ 'our_host': our_host}, instance=instance)
destroy_disks = False
try:
network_info = self._get_instance_nw_info(context,
@@ -484,7 +495,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:
@@ -516,7 +527,23 @@ class ComputeManager(manager.SchedulerDependentManager):
legacy_net_info[0][1].get('vif_type') is None):
# Call to network API to get instance info, this will
# force an update to the instance's info_cache
- net_info = self._get_instance_nw_info(context, instance)
+ retry_time = 0
+ # Continue retrying until _get_instance_nw_info() succeeds.
+ while True:
+ try:
+ net_info = self._get_instance_nw_info(context, instance)
+ break
+ except Exception:
+ # Retry in an exponential backoff fashion
+ # capped at 60 seconds.
+ if retry_time < 60:
+ retry_time += 6
+ LOG.exception(_("Error raised getting network info for "
+ "instance %(instance_uuid)s. Retrying "
+ "in %(retry_time)s seconds."),
+ {'instance_uuid': instance['uuid'],
+ 'retry_time': retry_time})
+ time.sleep(retry_time)
legacy_net_info = self._legacy_nw_info(net_info)
self.driver.plug_vifs(instance, legacy_net_info)
@@ -526,7 +553,7 @@ class ComputeManager(manager.SchedulerDependentManager):
# NOTE(mriedem): check old_vm_state for STOPPED here, if it's
# not in system_metadata we default to True for backwards
# compatibility
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
power_on = sys_meta.get('old_vm_state') != vm_states.STOPPED
block_dev_info = self._get_instance_volume_block_device_info(
@@ -552,12 +579,13 @@ class ComputeManager(manager.SchedulerDependentManager):
drv_state != db_state)
LOG.debug(_('Current state is %(drv_state)s, state in DB is '
- '%(db_state)s.'), locals(), instance=instance)
+ '%(db_state)s.'),
+ {'drv_state': drv_state, 'db_state': db_state},
+ instance=instance)
if expect_running and CONF.resume_guests_state_on_host_boot:
- LOG.info(
- _('Rebooting instance after nova-compute restart.'),
- locals(), instance=instance)
+ LOG.info(_('Rebooting instance after nova-compute restart.'),
+ instance=instance)
block_device_info = \
self._get_instance_volume_block_device_info(
@@ -593,7 +621,7 @@ class ComputeManager(manager.SchedulerDependentManager):
{'state': event.get_transition(),
'uuid': event.get_instance_uuid()})
context = nova.context.get_admin_context()
- instance = self.conductor_api.instance_get_by_uuid(
+ instance = instance_obj.Instance.get_by_uuid(
context, event.get_instance_uuid())
vm_power_state = None
if event.get_transition() == virtevent.EVENT_LIFECYCLE_STOPPED:
@@ -626,8 +654,8 @@ class ComputeManager(manager.SchedulerDependentManager):
"""Initialization for a standalone compute service."""
self.driver.init_host(host=self.host)
context = nova.context.get_admin_context()
- instances = self.conductor_api.instance_get_all_by_host(context,
- self.host)
+ instances = instance_obj.InstanceList.get_by_host(
+ context, self.host, expected_attrs=['info_cache'])
if CONF.defer_iptables_apply:
self.driver.filter_defer_apply_on()
@@ -850,7 +878,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()
@@ -858,7 +886,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)
@@ -867,10 +895,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.
@@ -920,8 +949,7 @@ class ComputeManager(manager.SchedulerDependentManager):
if node is None:
node = self.driver.get_available_nodes()[0]
- LOG.debug(_("No node specified, defaulting to %(node)s") %
- locals())
+ LOG.debug(_("No node specified, defaulting to %s"), node)
network_info = None
bdms = self.conductor_api.block_device_mapping_get_all_by_instance(
@@ -959,13 +987,19 @@ class ComputeManager(manager.SchedulerDependentManager):
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:
- msg = _('Failed to dealloc network '
- 'for deleted instance')
- LOG.exception(msg, instance=instance)
+ LOG.exception(_('Failed to dealloc network for '
+ 'deleted instance'), instance=instance)
except exception.UnexpectedTaskStateError as e:
+ exc_info = sys.exc_info()
+ # Make sure the async call finishes
+ if network_info is not None:
+ network_info.wait(do_raise=False)
actual_task_state = e.kwargs.get('actual', None)
if actual_task_state == 'deleting':
msg = _('Instance was deleted during spawn.')
@@ -973,10 +1007,13 @@ class ComputeManager(manager.SchedulerDependentManager):
raise exception.BuildAbortException(
instance_uuid=instance['uuid'], reason=msg)
else:
- raise
+ raise exc_info[0], exc_info[1], exc_info[2]
except Exception:
exc_info = sys.exc_info()
# try to re-schedule instance:
+ # Make sure the async call finishes
+ if network_info is not None:
+ network_info.wait(do_raise=False)
rescheduled = self._reschedule_or_error(context, instance,
exc_info, requested_networks, admin_password,
injected_files_orig, is_first_time, request_spec,
@@ -992,7 +1029,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
@@ -1111,29 +1148,37 @@ class ComputeManager(manager.SchedulerDependentManager):
def _allocate_network(self, context, instance, requested_networks, macs,
security_groups):
- """Allocate networks for an instance and return the network info."""
+ """Start network allocation asynchronously. Return an instance
+ of NetworkInfoAsyncWrapper that can be used to retrieve the
+ allocated networks when the operation has finished.
+ """
+ # NOTE(comstud): Since we're allocating networks asynchronously,
+ # this task state has little meaning, as we won't be in this
+ # state for very long.
instance = self._instance_update(context, instance['uuid'],
vm_state=vm_states.BUILDING,
task_state=task_states.NETWORKING,
expected_task_state=None)
is_vpn = pipelib.is_vpn_image(instance['image_ref'])
- try:
- # allocate and get network info
- network_info = 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|'), network_info,
- instance=instance)
- return network_info
+ 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)
def _prep_block_device(self, context, instance, bdms):
"""Set up the block device for an instance with error logging."""
@@ -1279,6 +1324,16 @@ class ComputeManager(manager.SchedulerDependentManager):
admin_password, is_first_time, node, instance)
do_run_instance()
+ def _try_deallocate_network(self, context, instance):
+ try:
+ # tear down allocated network structure
+ self._deallocate_network(context, instance)
+ except Exception:
+ with excutils.save_and_reraise_exception():
+ LOG.error(_('Failed to deallocate network for instance.'),
+ instance=instance)
+ self._set_instance_error_state(context, instance['uuid'])
+
def _shutdown_instance(self, context, instance, bdms):
"""Shutdown an instance on this host."""
context = context.elevated()
@@ -1293,21 +1348,28 @@ class ComputeManager(manager.SchedulerDependentManager):
except exception.NetworkNotFound:
network_info = network_model.NetworkInfo()
- try:
- # tear down allocated network structure
- self._deallocate_network(context, instance)
- except Exception:
- with excutils.save_and_reraise_exception():
- LOG.error(_('Failed to deallocate network for instance.'),
- instance=instance)
- self._set_instance_error_state(context, instance['uuid'])
-
# NOTE(vish) get bdms before destroying the instance
vol_bdms = self._get_volume_bdms(bdms)
block_device_info = self._get_instance_volume_block_device_info(
context, instance, bdms=bdms)
- self.driver.destroy(instance, self._legacy_nw_info(network_info),
- block_device_info)
+
+ # NOTE(melwitt): attempt driver destroy before releasing ip, may
+ # want to keep ip allocated for certain failures
+ try:
+ self.driver.destroy(instance, self._legacy_nw_info(network_info),
+ block_device_info)
+ except exception.InstancePowerOffFailure:
+ # if the instance can't power off, don't release the ip
+ with excutils.save_and_reraise_exception():
+ pass
+ except Exception:
+ with excutils.save_and_reraise_exception():
+ # deallocate ip and fail without proceeding to
+ # volume api calls, preserving current behavior
+ self._try_deallocate_network(context, instance)
+
+ self._try_deallocate_network(context, instance)
+
for bdm in vol_bdms:
try:
# NOTE(vish): actual driver detach done in driver.destroy, so
@@ -1341,6 +1403,7 @@ class ComputeManager(manager.SchedulerDependentManager):
as necessary.
"""
instance_uuid = instance['uuid']
+ image = instance['image_ref']
if context.is_admin and context.project_id != instance['project_id']:
project_id = instance['project_id']
@@ -1384,7 +1447,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():
@@ -1394,6 +1457,15 @@ class ComputeManager(manager.SchedulerDependentManager):
self._quota_commit(context, reservations, project_id=project_id)
# ensure block device mappings are not leaked
self.conductor_api.block_device_mapping_destroy(context, bdms)
+ # NOTE(ndipanov): Delete the dummy image BDM as well. This will not
+ # be needed once the manager code is using the image
+ if image:
+ # Do not convert to legacy here - we want them all
+ leftover_bdm = \
+ self.conductor_api.block_device_mapping_get_all_by_instance(
+ context, instance)
+ self.conductor_api.block_device_mapping_destroy(context,
+ leftover_bdm)
self._notify_about_instance_usage(context, instance, "delete.end",
system_metadata=system_meta)
@@ -1428,8 +1500,8 @@ class ComputeManager(manager.SchedulerDependentManager):
self._delete_instance(context, instance, bdms,
reservations=reservations)
except exception.InstanceTerminationFailure as error:
- msg = _('%s. Setting instance vm_state to ERROR')
- LOG.error(msg % error, instance=instance)
+ LOG.error(_('%s. Setting instance vm_state to ERROR'),
+ error, instance=instance)
self._set_instance_error_state(context, instance['uuid'])
except exception.InstanceNotFound as e:
LOG.warn(e, instance=instance)
@@ -1439,6 +1511,7 @@ class ComputeManager(manager.SchedulerDependentManager):
# NOTE(johannes): This is probably better named power_off_instance
# so it matches the driver method, but because of other issues, we
# can't use that name in grizzly.
+ @object_compat
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@reverts_task_state
@wrap_instance_event
@@ -1448,17 +1521,17 @@ class ComputeManager(manager.SchedulerDependentManager):
self._notify_about_instance_usage(context, instance, "power_off.start")
self.driver.power_off(instance)
current_power_state = self._get_power_state(context, instance)
- instance = self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=vm_states.STOPPED,
- expected_task_state=(task_states.POWERING_OFF,
- task_states.STOPPING),
- task_state=None)
+ instance.power_state = current_power_state
+ instance.vm_state = vm_states.STOPPED
+ instance.task_state = None
+ instance.save(expected_task_state=(task_states.POWERING_OFF,
+ task_states.STOPPING))
self._notify_about_instance_usage(context, instance, "power_off.end")
# NOTE(johannes): This is probably better named power_on_instance
# so it matches the driver method, but because of other issues, we
# can't use that name in grizzly.
+ @object_compat
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@reverts_task_state
@wrap_instance_event
@@ -1468,12 +1541,11 @@ class ComputeManager(manager.SchedulerDependentManager):
self._notify_about_instance_usage(context, instance, "power_on.start")
self.driver.power_on(instance)
current_power_state = self._get_power_state(context, instance)
- instance = self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=vm_states.ACTIVE,
- task_state=None,
- expected_task_state=(task_states.POWERING_ON,
- task_states.STARTING))
+ instance.power_state = current_power_state
+ instance.vm_state = vm_states.ACTIVE
+ instance.task_state = None
+ instance.save(expected_task_state=(task_states.POWERING_ON,
+ task_states.STARTING))
self._notify_about_instance_usage(context, instance, "power_on.end")
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@@ -1691,7 +1763,7 @@ class ComputeManager(manager.SchedulerDependentManager):
task_state=task_states.STOPPING,
terminated_at=timeutils.utcnow(),
progress=0)
- self.stop_instance(context, instance)
+ self.stop_instance(context, instance=instance)
self._notify_about_instance_usage(
context, instance, "rebuild.end",
@@ -1747,21 +1819,15 @@ class ComputeManager(manager.SchedulerDependentManager):
current_power_state = self._get_power_state(context, instance)
- # Don't change it out of rescue mode
- new_vm_state = vm_states.ACTIVE
- if instance['vm_state'] == vm_states.RESCUED:
- new_vm_state = vm_states.RESCUED
-
instance = self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=new_vm_state)
+ power_state=current_power_state)
if instance['power_state'] != power_state.RUNNING:
state = instance['power_state']
running = power_state.RUNNING
- LOG.warn(_('trying to reboot a non-running '
- 'instance: (state: %(state)s '
- 'expected: %(running)s)') % locals(),
+ LOG.warn(_('trying to reboot a non-running instance:'
+ ' (state: %(state)s expected: %(running)s)'),
+ {'state': state, 'running': running},
context=context, instance=instance)
def bad_volumes_callback(bad_devices):
@@ -1769,23 +1835,46 @@ class ComputeManager(manager.SchedulerDependentManager):
context, instance, bad_devices, block_device_info)
try:
+ # Don't change it out of rescue mode
+ if instance['vm_state'] == vm_states.RESCUED:
+ new_vm_state = vm_states.RESCUED
+ else:
+ new_vm_state = vm_states.ACTIVE
+ new_power_state = None
+
self.driver.reboot(context, instance,
self._legacy_nw_info(network_info),
reboot_type,
block_device_info=block_device_info,
bad_volumes_callback=bad_volumes_callback)
- except Exception as exc:
- LOG.error(_('Cannot reboot instance: %(exc)s'), locals(),
- context=context, instance=instance)
+
+ except Exception as error:
+ # Can't use save_and_reraise as we don't know yet if we
+ # will re-raise or not
+ type_, value, tb = sys.exc_info()
+
compute_utils.add_instance_fault_from_exc(context,
- self.conductor_api, instance, exc, sys.exc_info())
- # Fall through and reset task_state to None
+ self.conductor_api, instance, error,
+ sys.exc_info())
+
+ # if the reboot failed but the VM is running don't
+ # put it into an error state
+ new_power_state = self._get_power_state(context, instance)
+ if new_power_state == power_state.RUNNING:
+ LOG.warning(_('Reboot failed but instance is running'),
+ context=context, instance=instance)
+ else:
+ LOG.error(_('Cannot reboot instance: %(error)s'),
+ locals(), context=context, instance=instance)
+ self._set_instance_error_state(context, instance['uuid'])
+ raise type_, value, tb
- current_power_state = self._get_power_state(context, instance)
+ if not new_power_state:
+ new_power_state = self._get_power_state(context, instance)
try:
instance = self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=vm_states.ACTIVE,
+ power_state=new_power_state,
+ vm_state=new_vm_state,
task_state=None)
except exception.InstanceNotFound:
LOG.warn(_("Instance disappeared during reboot"),
@@ -1821,9 +1910,9 @@ class ComputeManager(manager.SchedulerDependentManager):
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)') % locals(),
+ 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(
@@ -1883,7 +1972,8 @@ class ComputeManager(manager.SchedulerDependentManager):
sort_key='created_at', sort_dir='desc')
num_images = len(images)
LOG.debug(_("Found %(num_images)d images (rotation: %(rotation)d)"),
- locals(), instance=instance)
+ {'num_images': num_images, 'rotation': rotation},
+ instance=instance)
if num_images > rotation:
# NOTE(sirp): this deletes all backups that exceed the rotation
@@ -1971,17 +2061,18 @@ class ComputeManager(manager.SchedulerDependentManager):
current_power_state = self._get_power_state(context, instance)
expected_state = power_state.RUNNING
if current_power_state != expected_state:
- LOG.warn(_('trying to inject a file into a non-running '
- '(state: %(current_power_state)s '
- 'expected: %(expected_state)s)') % locals(),
+ LOG.warn(_('trying to inject a file into a non-running (state: '
+ '%(current_state)s expected: %(expected_state)s)'),
+ {'current_state': current_power_state,
+ 'expected_state': expected_state},
instance=instance)
- LOG.audit(_('injecting file to %(path)s') % locals(),
+ LOG.audit(_('injecting file to %s'), path,
instance=instance)
self.driver.inject_file(instance, path, file_contents)
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')
@@ -2070,8 +2161,8 @@ class ComputeManager(manager.SchedulerDependentManager):
@wrap_instance_fault
def change_instance_metadata(self, context, diff, instance):
"""Update the metadata published to the instance."""
- LOG.debug(_("Changing instance metadata according to %(diff)r") %
- locals(), instance=instance)
+ LOG.debug(_("Changing instance metadata according to %r"),
+ diff, instance=instance)
self.driver.change_instance_metadata(context, instance, diff)
def _cleanup_stored_instance_types(self, migration, instance,
@@ -2083,17 +2174,15 @@ 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_instance_type(instance,
- 'old_')
- sys_meta = flavors.save_instance_type_info(sys_meta,
- instance_type)
+ instance_type = flavors.extract_flavor(instance, 'old_')
+ sys_meta = flavors.save_flavor_info(sys_meta, instance_type)
else:
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
- flavors.delete_instance_type_info(sys_meta, 'old_')
- flavors.delete_instance_type_info(sys_meta, 'new_')
+ flavors.delete_flavor_info(sys_meta, 'old_')
+ flavors.delete_flavor_info(sys_meta, 'new_')
return sys_meta, instance_type
@@ -2151,7 +2240,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",
@@ -2302,7 +2392,7 @@ class ComputeManager(manager.SchedulerDependentManager):
instance = self._instance_update(
context, instance['uuid'],
task_state=task_states.STOPPING)
- self.stop_instance(context, instance)
+ self.stop_instance(context, instance=instance)
self._notify_about_instance_usage(
context, instance, "resize.revert.end")
@@ -2338,9 +2428,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_instance_type_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']
@@ -2374,8 +2463,7 @@ class ComputeManager(manager.SchedulerDependentManager):
"""
if node is None:
node = self.driver.get_available_nodes()[0]
- LOG.debug(_("No node specified, defaulting to %(node)s") %
- locals())
+ LOG.debug(_("No node specified, defaulting to %s"), node)
with self._error_out_instance_on_exception(context, instance['uuid'],
reservations):
@@ -2510,19 +2598,19 @@ class ComputeManager(manager.SchedulerDependentManager):
resize_instance = False
old_instance_type_id = migration['old_instance_type_id']
new_instance_type_id = migration['new_instance_type_id']
- old_instance_type = flavors.extract_instance_type(instance)
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ old_instance_type = flavors.extract_flavor(instance)
+ 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
old_vm_state = sys_meta.get('old_vm_state', vm_states.ACTIVE)
- flavors.save_instance_type_info(sys_meta,
- old_instance_type,
- prefix='old_')
+ flavors.save_flavor_info(sys_meta,
+ old_instance_type,
+ prefix='old_')
if old_instance_type_id != new_instance_type_id:
- instance_type = flavors.extract_instance_type(instance,
+ instance_type = flavors.extract_flavor(instance,
prefix='new_')
- flavors.save_instance_type_info(sys_meta, instance_type)
+ flavors.save_flavor_info(sys_meta, instance_type)
instance = self._instance_update(
context,
@@ -2607,9 +2695,9 @@ class ComputeManager(manager.SchedulerDependentManager):
try:
self._quota_rollback(context, reservations)
except Exception as qr_error:
- reason = _("Failed to rollback quota for failed "
- "finish_resize: %(qr_error)s")
- LOG.exception(reason % locals(), instance=instance)
+ LOG.exception(_("Failed to rollback quota for failed "
+ "finish_resize: %s"),
+ qr_error, instance=instance)
LOG.error(_('%s. Setting instance vm_state to ERROR') % error,
instance=instance)
self._set_instance_error_state(context, instance['uuid'])
@@ -2707,7 +2795,8 @@ class ComputeManager(manager.SchedulerDependentManager):
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
def host_maintenance_mode(self, context, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
return self.driver.host_maintenance_mode(host, mode)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@@ -2905,14 +2994,16 @@ class ComputeManager(manager.SchedulerDependentManager):
def _attach_volume_boot(self, context, instance, volume, mountpoint):
"""Attach a volume to an instance at boot time. So actual attach
- is done by instance creation"""
+ is done by instance creation.
+ """
instance_id = instance['id']
instance_uuid = instance['uuid']
volume_id = volume['id']
context = context.elevated()
LOG.audit(_('Booting with volume %(volume_id)s at %(mountpoint)s'),
- locals(), context=context, instance=instance)
+ {'volume_id': volume_id, 'mountpoint': mountpoint},
+ context=context, instance=instance)
connector = self.driver.get_volume_connector(instance)
connection_info = self.volume_api.initialize_connection(context,
volume_id,
@@ -2962,7 +3053,8 @@ class ComputeManager(manager.SchedulerDependentManager):
def _attach_volume(self, context, volume_id, mountpoint, instance):
context = context.elevated()
LOG.audit(_('Attaching volume %(volume_id)s to %(mountpoint)s'),
- locals(), context=context, instance=instance)
+ {'volume_id': volume_id, 'mountpoint': mountpoint},
+ context=context, instance=instance)
try:
connector = self.driver.get_volume_connector(instance)
connection_info = self.volume_api.initialize_connection(context,
@@ -2970,10 +3062,11 @@ class ComputeManager(manager.SchedulerDependentManager):
connector)
except Exception: # pylint: disable=W0702
with excutils.save_and_reraise_exception():
- msg = _("Failed to connect to volume %(volume_id)s "
- "while attaching at %(mountpoint)s")
- LOG.exception(msg % locals(), context=context,
- instance=instance)
+ LOG.exception(_("Failed to connect to volume %(volume_id)s "
+ "while attaching at %(mountpoint)s"),
+ {'volume_id': volume_id,
+ 'mountpoint': mountpoint},
+ context=context, instance=instance)
self.volume_api.unreserve_volume(context, volume_id)
if 'serial' not in connection_info:
@@ -2985,10 +3078,11 @@ class ComputeManager(manager.SchedulerDependentManager):
mountpoint)
except Exception: # pylint: disable=W0702
with excutils.save_and_reraise_exception():
- msg = _("Failed to attach volume %(volume_id)s "
- "at %(mountpoint)s")
- LOG.exception(msg % locals(), context=context,
- instance=instance)
+ LOG.exception(_("Failed to attach volume %(volume_id)s "
+ "at %(mountpoint)s") %
+ {'volume_id': volume_id,
+ 'mountpoint': mountpoint},
+ context=context, instance=instance)
self.volume_api.terminate_connection(context,
volume_id,
connector)
@@ -3016,7 +3110,8 @@ class ComputeManager(manager.SchedulerDependentManager):
volume_id = bdm['volume_id']
LOG.audit(_('Detach volume %(volume_id)s from mountpoint %(mp)s'),
- locals(), context=context, instance=instance)
+ {'volume_id': volume_id, 'mp': mp},
+ context=context, instance=instance)
connection_info = jsonutils.loads(bdm['connection_info'])
# NOTE(vish): We currently don't use the serial when disconnecting,
@@ -3032,9 +3127,10 @@ class ComputeManager(manager.SchedulerDependentManager):
mp)
except Exception: # pylint: disable=W0702
with excutils.save_and_reraise_exception():
- msg = _("Failed to detach volume %(volume_id)s from %(mp)s")
- LOG.exception(msg % locals(), context=context,
- instance=instance)
+ LOG.exception(_('Failed to detach volume %(volume_id)s '
+ 'from %(mp)s'),
+ {'volume_id': volume_id, 'mp': mp},
+ context=context, instance=instance)
self.volume_api.roll_detaching(context, volume_id)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@@ -3111,8 +3207,8 @@ class ComputeManager(manager.SchedulerDependentManager):
condemned = (network, mapping)
break
if condemned is None:
- raise exception.PortNotFound(_("Port %(port_id)s is not "
- "attached") % locals())
+ raise exception.PortNotFound(_("Port %s is not "
+ "attached") % port_id)
self.network_api.deallocate_port_for_instance(context, instance,
port_id,
@@ -3125,7 +3221,7 @@ class ComputeManager(manager.SchedulerDependentManager):
try:
return compute_node_ref['compute_node'][0]
except IndexError:
- raise exception.NotFound(_("Host %(host)s not found") % locals())
+ raise exception.NotFound(_("Host %s not found") % host)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
def check_instance_shared_storage(self, ctxt, instance, data):
@@ -3278,8 +3374,8 @@ class ComputeManager(manager.SchedulerDependentManager):
except Exception:
with excutils.save_and_reraise_exception():
- LOG.exception(_('Pre live migration failed at %(dest)s'),
- locals(), instance=instance)
+ LOG.exception(_('Pre live migration failed at %s'),
+ dest, instance=instance)
self._rollback_live_migration(context, instance, dest,
block_migration, migrate_data)
@@ -3361,8 +3457,8 @@ class ComputeManager(manager.SchedulerDependentManager):
self.network_api.setup_networks_on_host(ctxt, instance_ref,
self.host, teardown=True)
- LOG.info(_('Migrating instance to %(dest)s finished successfully.'),
- locals(), instance=instance_ref)
+ LOG.info(_('Migrating instance to %s finished successfully.'),
+ dest, instance=instance_ref)
LOG.info(_("You may see the error \"libvirt: QEMU error: "
"Domain not found: no domain with matching name.\" "
"This error can be safely ignored."),
@@ -3518,20 +3614,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
@@ -3580,60 +3676,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):
- migration_id = migration['id']
- msg = _("Setting migration %(migration_id)s to error: "
- "%(reason)s") % locals()
- LOG.warn(msg, **kwargs)
- self.conductor_api.migration_update(context, migration,
- 'error')
-
- for migration in migrations:
- migration_id = migration['id']
- instance_uuid = migration['instance_uuid']
- LOG.info(_("Automatically confirming migration "
- "%(migration_id)s for instance %(instance_uuid)s"),
- locals())
- try:
- instance = self.conductor_api.instance_get_by_uuid(
- context, instance_uuid)
- except exception.InstanceNotFound:
- reason = _("Instance %(instance_uuid)s not found")
- _set_migration_to_error(migration, reason % locals())
- continue
- if instance['vm_state'] == vm_states.ERROR:
- reason = _("In ERROR state")
- _set_migration_to_error(migration, reason % locals(),
- 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")
- _set_migration_to_error(migration, reason % locals(),
- instance=instance)
- continue
- try:
- self.conductor_api.compute_confirm_resize(
- context, instance, migration_ref=migration)
- except Exception as e:
- msg = _("Error auto-confirming resize: %(e)s. "
- "Will retry later.")
- LOG.error(msg % locals(), 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):
@@ -3651,10 +3751,11 @@ class ComputeManager(manager.SchedulerDependentManager):
LOG.info(_("Running instance usage audit for"
" host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s"
- " instances.") % dict(host=self.host,
- begin_time=begin,
- end_time=end,
- number_instances=num_instances))
+ " instances."),
+ dict(host=self.host,
+ begin_time=begin,
+ end_time=end,
+ number_instances=num_instances))
start_time = time.time()
compute_utils.start_instance_usage_audit(context,
self.conductor_api,
@@ -3764,7 +3865,7 @@ class ComputeManager(manager.SchedulerDependentManager):
return compute_host_bdms
- def _update_volume_usage_cache(self, context, vol_usages, refreshed):
+ def _update_volume_usage_cache(self, context, vol_usages):
"""Updates the volume usage cache table with a list of stats."""
for usage in vol_usages:
# Allow switching of greenthreads between queries.
@@ -3774,8 +3875,7 @@ class ComputeManager(manager.SchedulerDependentManager):
usage['rd_bytes'],
usage['wr_req'],
usage['wr_bytes'],
- usage['instance'],
- last_refreshed=refreshed)
+ usage['instance'])
@periodic_task.periodic_task
def _poll_volume_usage(self, context, start_time=None):
@@ -3802,8 +3902,7 @@ class ComputeManager(manager.SchedulerDependentManager):
except NotImplementedError:
return
- refreshed = timeutils.utcnow()
- self._update_volume_usage_cache(context, vol_usages, refreshed)
+ self._update_volume_usage_cache(context, vol_usages)
@periodic_task.periodic_task
def _report_driver_status(self, context):
@@ -3830,15 +3929,17 @@ class ComputeManager(manager.SchedulerDependentManager):
loop, one database record at a time, checking if the hypervisor has the
same power state as is in the database.
"""
- 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)
num_vm_instances = self.driver.get_num_instances()
num_db_instances = len(db_instances)
if num_vm_instances != num_db_instances:
LOG.warn(_("Found %(num_db_instances)s in the database and "
- "%(num_vm_instances)s on the hypervisor.") % locals())
+ "%(num_vm_instances)s on the hypervisor."),
+ {'num_db_instances': num_db_instances,
+ 'num_vm_instances': num_vm_instances})
for db_instance in db_instances:
if db_instance['task_state'] is not None:
@@ -3861,17 +3962,16 @@ class ComputeManager(manager.SchedulerDependentManager):
"""Align instance power state between the database and hypervisor.
If the instance is not found on the hypervisor, but is in the database,
- then a stop() API will be called on the instance."""
+ then a stop() API will be called on the instance.
+ """
# We re-query the DB to get the latest instance info to minimize
# (not eliminate) race condition.
- u = self.conductor_api.instance_get_by_uuid(context,
- db_instance['uuid'],
- columns_to_join=[])
- db_power_state = u["power_state"]
- vm_state = u['vm_state']
+ db_instance.refresh()
+ db_power_state = db_instance.power_state
+ vm_state = db_instance.vm_state
- if self.host != u['host']:
+ if self.host != db_instance.host:
# on the sending end of nova-compute _sync_power_state
# may have yielded to the greenthread performing a live
# migration; this in turn has changed the resident-host
@@ -3883,10 +3983,10 @@ class ComputeManager(manager.SchedulerDependentManager):
"instance has moved from "
"host %(src)s to host %(dst)s") %
{'src': self.host,
- 'dst': u['host']},
+ 'dst': db_instance.host},
instance=db_instance)
return
- elif u['task_state'] is not None:
+ elif db_instance.task_state is not None:
# on the receiving end of nova-compute, it could happen
# that the DB instance already report the new resident
# but the actual VM has not showed up on the hypervisor
@@ -3898,9 +3998,8 @@ class ComputeManager(manager.SchedulerDependentManager):
if vm_power_state != db_power_state:
# power_state is always updated from hypervisor to db
- self._instance_update(context,
- db_instance['uuid'],
- power_state=vm_power_state)
+ db_instance.power_state = vm_power_state
+ db_instance.save()
db_power_state = vm_power_state
# Note(maoy): Now resolve the discrepancy between vm_state and
@@ -3989,6 +4088,7 @@ class ComputeManager(manager.SchedulerDependentManager):
return
filters = {'vm_state': vm_states.SOFT_DELETED,
+ 'task_state': None,
'host': self.host}
instances = self.conductor_api.instance_get_all_by_filters(context,
filters)
@@ -4074,24 +4174,22 @@ class ComputeManager(manager.SchedulerDependentManager):
context, instance)
if action == "log":
- name = instance['name']
LOG.warning(_("Detected instance with name label "
- "'%(name)s' which is marked as "
+ "'%s' which is marked as "
"DELETED but still present on host."),
- locals(), instance=instance)
+ instance['name'], instance=instance)
elif action == 'reap':
- name = instance['name']
LOG.info(_("Destroying instance with name label "
- "'%(name)s' which is marked as "
+ "'%s' which is marked as "
"DELETED but still present on host."),
- locals(), instance=instance)
+ instance['name'], instance=instance)
self._shutdown_instance(context, instance, bdms)
self._cleanup_volumes(context, instance['uuid'], bdms)
else:
- raise Exception(_("Unrecognized value '%(action)s'"
+ raise Exception(_("Unrecognized value '%s'"
" for CONF.running_deleted_"
- "instance_action"), locals(),
+ "instance_action"), action,
instance=instance)
def _running_deleted_instances(self, context):
@@ -4116,8 +4214,8 @@ class ComputeManager(manager.SchedulerDependentManager):
yield
except exception.InstanceFaultRollback as error:
self._quota_rollback(context, reservations)
- msg = _("Setting instance back to ACTIVE after: %s")
- LOG.info(msg % error, instance_uuid=instance_uuid)
+ LOG.info(_("Setting instance back to ACTIVE after: %s"),
+ error, instance_uuid=instance_uuid)
self._instance_update(context, instance_uuid,
vm_state=vm_states.ACTIVE,
task_state=None)
@@ -4125,8 +4223,8 @@ class ComputeManager(manager.SchedulerDependentManager):
except Exception as error:
with excutils.save_and_reraise_exception():
self._quota_rollback(context, reservations)
- msg = _('%s. Setting instance vm_state to ERROR')
- LOG.error(msg % error, instance_uuid=instance_uuid)
+ LOG.error(_('%s. Setting instance vm_state to ERROR'),
+ error, instance_uuid=instance_uuid)
self._set_instance_error_state(context, instance_uuid)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
diff --git a/nova/compute/resource_tracker.py b/nova/compute/resource_tracker.py
index ef91063b4..43fd80c43 100644
--- a/nova/compute/resource_tracker.py
+++ b/nova/compute/resource_tracker.py
@@ -160,7 +160,7 @@ class ResourceTracker(object):
be done while the COMPUTE_RESOURCES_SEMAPHORE is held so the resource
claim will not be lost if the audit process starts.
"""
- old_instance_type = flavors.extract_instance_type(instance)
+ old_instance_type = flavors.extract_flavor(instance)
return self.conductor_api.migration_create(context, instance,
{'dest_compute': self.host,
@@ -580,7 +580,7 @@ class ResourceTracker(object):
instance_type_id = instance['instance_type_id']
try:
- return flavors.extract_instance_type(instance, prefix)
+ return flavors.extract_flavor(instance, prefix)
except KeyError:
return self.conductor_api.instance_type_get(context,
instance_type_id)
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py
index a8d7eaa47..30db6010f 100644
--- a/nova/compute/rpcapi.py
+++ b/nova/compute/rpcapi.py
@@ -21,8 +21,10 @@ Client side of the compute RPC API.
from oslo.config import cfg
from nova import exception
+from nova.objects import base as objects_base
from nova.openstack.common import jsonutils
from nova.openstack.common import rpc
+import nova.openstack.common.rpc
import nova.openstack.common.rpc.proxy
rpcapi_opts = [
@@ -34,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.
@@ -165,7 +172,14 @@ 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
'''
#
@@ -178,10 +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)
+ default_version=self.BASE_RPC_API_VERSION,
+ serializer=objects_base.NovaObjectSerializer(),
+ version_cap=version_cap)
def add_aggregate_host(self, ctxt, aggregate, host_param, host,
slave_info=None):
@@ -422,9 +444,10 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy):
filter_properties=None, node=None):
instance_p = jsonutils.to_primitive(instance)
instance_type_p = jsonutils.to_primitive(instance_type)
+ image_p = jsonutils.to_primitive(image)
self.cast(ctxt, self.make_msg('prep_resize',
instance=instance_p, instance_type=instance_type_p,
- image=image, reservations=reservations,
+ image=image_p, reservations=reservations,
request_spec=request_spec,
filter_properties=filter_properties,
node=node),
@@ -581,17 +604,17 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy):
topic=_compute_topic(self.topic, ctxt, None, instance))
def start_instance(self, ctxt, instance):
- instance_p = jsonutils.to_primitive(instance)
self.cast(ctxt, self.make_msg('start_instance',
- instance=instance_p),
- topic=_compute_topic(self.topic, ctxt, None, instance))
+ instance=instance),
+ topic=_compute_topic(self.topic, ctxt, None, instance),
+ version='2.29')
def stop_instance(self, ctxt, instance, cast=True):
rpc_method = self.cast if cast else self.call
- instance_p = jsonutils.to_primitive(instance)
return rpc_method(ctxt, self.make_msg('stop_instance',
- instance=instance_p),
- topic=_compute_topic(self.topic, ctxt, None, instance))
+ instance=instance),
+ topic=_compute_topic(self.topic, ctxt, None, instance),
+ version='2.29')
def suspend_instance(self, ctxt, instance):
instance_p = jsonutils.to_primitive(instance)
diff --git a/nova/compute/utils.py b/nova/compute/utils.py
index 1ce115b20..3db4a14f2 100644
--- a/nova/compute/utils.py
+++ b/nova/compute/utils.py
@@ -151,7 +151,7 @@ def get_device_name_for_instance(context, instance, bdms, device):
# NOTE(vish): remove this when xenapi is properly setting
# default_ephemeral_device and default_swap_device
if driver.compute_driver_matches('xenapi.XenAPIDriver'):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
if instance_type['ephemeral_gb']:
used_letters.add('b')
@@ -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)
@@ -290,8 +289,13 @@ def usage_volume_info(vol_usage):
tot_refreshed = vol_usage['tot_last_refreshed']
curr_refreshed = vol_usage['curr_last_refreshed']
- last_refreshed_time = (tot_refreshed if tot_refreshed > curr_refreshed
- else curr_refreshed)
+ if tot_refreshed and curr_refreshed:
+ last_refreshed_time = max(tot_refreshed, curr_refreshed)
+ elif tot_refreshed:
+ last_refreshed_time = tot_refreshed
+ else:
+ # curr_refreshed must be set
+ last_refreshed_time = curr_refreshed
usage_info = dict(
volume_id=vol_usage['volume_id'],
diff --git a/nova/conductor/api.py b/nova/conductor/api.py
index 33415233e..3f955d24f 100644
--- a/nova/conductor/api.py
+++ b/nova/conductor/api.py
@@ -45,7 +45,8 @@ LOG = logging.getLogger(__name__)
class LocalAPI(object):
"""A local version of the conductor API that does database updates
- locally instead of via RPC"""
+ locally instead of via RPC.
+ """
def __init__(self):
# TODO(danms): This needs to be something more generic for
@@ -196,9 +197,10 @@ class LocalAPI(object):
return self._manager.block_device_mapping_update_or_create(context,
values)
- def block_device_mapping_get_all_by_instance(self, context, instance):
+ def block_device_mapping_get_all_by_instance(self, context, instance,
+ legacy=True):
return self._manager.block_device_mapping_get_all_by_instance(
- context, instance)
+ context, instance, legacy)
def block_device_mapping_destroy(self, context, bdms):
return self._manager.block_device_mapping_destroy(context, bdms=bdms)
@@ -361,11 +363,11 @@ class LocalComputeTaskAPI(object):
block_device_mapping=block_device_mapping)
-class API(object):
+class API(LocalAPI):
"""Conductor API that does updates via RPC to the ConductorManager."""
def __init__(self):
- self.conductor_rpcapi = rpcapi.ConductorAPI()
+ self._manager = rpcapi.ConductorAPI()
self.base_rpcapi = baserpc.BaseAPI(topic=CONF.conductor.topic)
def wait_until_ready(self, context, early_timeout=10, early_attempts=10):
@@ -393,303 +395,15 @@ class API(object):
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?'))
def instance_update(self, context, instance_uuid, **updates):
"""Perform an instance update in the database."""
- return self.conductor_rpcapi.instance_update(context, instance_uuid,
- updates, 'conductor')
-
- def instance_destroy(self, context, instance):
- return self.conductor_rpcapi.instance_destroy(context, instance)
-
- def instance_get(self, context, instance_id):
- return self.conductor_rpcapi.instance_get(context, instance_id)
-
- def instance_get_by_uuid(self, context, instance_uuid,
- columns_to_join=None):
- return self.conductor_rpcapi.instance_get_by_uuid(context,
- instance_uuid,
- columns_to_join)
-
- def instance_get_all_by_host(self, context, host, columns_to_join=None):
- return self.conductor_rpcapi.instance_get_all_by_host(
- context, host, columns_to_join=columns_to_join)
-
- def instance_get_all_by_host_and_node(self, context, host, node):
- return self.conductor_rpcapi.instance_get_all_by_host(context,
- host, node)
-
- def instance_get_all_by_filters(self, context, filters,
- sort_key='created_at',
- sort_dir='desc',
- columns_to_join=None):
- return self.conductor_rpcapi.instance_get_all_by_filters(
- context, filters, sort_key, sort_dir, columns_to_join)
-
- def instance_get_active_by_window_joined(self, context, begin, end=None,
- project_id=None, host=None):
- return self.conductor_rpcapi.instance_get_active_by_window_joined(
- context, begin, end, project_id, host)
-
- def instance_info_cache_update(self, context, instance, values):
- return self.conductor_rpcapi.instance_info_cache_update(context,
- instance, values)
-
- def instance_info_cache_delete(self, context, instance):
- return self.conductor_rpcapi.instance_info_cache_delete(context,
- instance)
-
- def instance_type_get(self, context, instance_type_id):
- return self.conductor_rpcapi.instance_type_get(context,
- instance_type_id)
-
- def instance_fault_create(self, context, values):
- return self.conductor_rpcapi.instance_fault_create(context, values)
-
- def migration_get(self, context, migration_id):
- return self.conductor_rpcapi.migration_get(context, migration_id)
-
- def migration_get_unconfirmed_by_dest_compute(self, context,
- confirm_window,
- dest_compute):
- crpcapi = self.conductor_rpcapi
- return crpcapi.migration_get_unconfirmed_by_dest_compute(
- context, confirm_window, dest_compute)
-
- def migration_get_in_progress_by_host_and_node(self, context, host, node):
- crpcapi = self.conductor_rpcapi
- return crpcapi.migration_get_in_progress_by_host_and_node(context,
- host, node)
-
- def migration_create(self, context, instance, values):
- return self.conductor_rpcapi.migration_create(context, instance,
- values)
-
- def migration_update(self, context, migration, status):
- return self.conductor_rpcapi.migration_update(context, migration,
- status)
-
- def aggregate_host_add(self, context, aggregate, host):
- return self.conductor_rpcapi.aggregate_host_add(context, aggregate,
- host)
-
- def aggregate_host_delete(self, context, aggregate, host):
- return self.conductor_rpcapi.aggregate_host_delete(context, aggregate,
- host)
-
- def aggregate_get(self, context, aggregate_id):
- return self.conductor_rpcapi.aggregate_get(context, aggregate_id)
-
- def aggregate_get_by_host(self, context, host, key=None):
- return self.conductor_rpcapi.aggregate_get_by_host(context, host, key)
-
- def aggregate_metadata_add(self, context, aggregate, metadata,
- set_delete=False):
- return self.conductor_rpcapi.aggregate_metadata_add(context, aggregate,
- metadata,
- set_delete)
-
- def aggregate_metadata_delete(self, context, aggregate, key):
- return self.conductor_rpcapi.aggregate_metadata_delete(context,
- aggregate,
- key)
-
- def aggregate_metadata_get_by_host(self, context, host,
- key='availability_zone'):
- return self.conductor_rpcapi.aggregate_metadata_get_by_host(context,
- host,
- key)
-
- def bw_usage_get(self, context, uuid, start_period, mac):
- return self.conductor_rpcapi.bw_usage_update(context, uuid, mac,
- start_period)
-
- def bw_usage_update(self, context, uuid, mac, start_period,
- bw_in, bw_out, last_ctr_in, last_ctr_out,
- last_refreshed=None):
- return self.conductor_rpcapi.bw_usage_update(
- context, uuid, mac, start_period,
- bw_in, bw_out, last_ctr_in, last_ctr_out,
- last_refreshed)
-
- def security_group_get_by_instance(self, context, instance):
- return self.conductor_rpcapi.security_group_get_by_instance(context,
- instance)
-
- def security_group_rule_get_by_security_group(self, context, secgroup):
- return self.conductor_rpcapi.security_group_rule_get_by_security_group(
- context, secgroup)
-
- def provider_fw_rule_get_all(self, context):
- return self.conductor_rpcapi.provider_fw_rule_get_all(context)
-
- def agent_build_get_by_triple(self, context, hypervisor, os, architecture):
- return self.conductor_rpcapi.agent_build_get_by_triple(context,
- hypervisor,
- os,
- architecture)
-
- def block_device_mapping_create(self, context, values):
- return self.conductor_rpcapi.block_device_mapping_update_or_create(
- context, values, create=True)
-
- def block_device_mapping_update(self, context, bdm_id, values):
- values = dict(values)
- values['id'] = bdm_id
- return self.conductor_rpcapi.block_device_mapping_update_or_create(
- context, values, create=False)
-
- def block_device_mapping_update_or_create(self, context, values):
- return self.conductor_rpcapi.block_device_mapping_update_or_create(
- context, values)
-
- def block_device_mapping_get_all_by_instance(self, context, instance):
- return self.conductor_rpcapi.block_device_mapping_get_all_by_instance(
- context, instance)
-
- def block_device_mapping_destroy(self, context, bdms):
- return self.conductor_rpcapi.block_device_mapping_destroy(context,
- bdms=bdms)
-
- def block_device_mapping_destroy_by_instance_and_device(self, context,
- instance,
- device_name):
- return self.conductor_rpcapi.block_device_mapping_destroy(
- context, instance=instance, device_name=device_name)
-
- def block_device_mapping_destroy_by_instance_and_volume(self, context,
- instance,
- volume_id):
- return self.conductor_rpcapi.block_device_mapping_destroy(
- context, instance=instance, volume_id=volume_id)
-
- def vol_get_usage_by_time(self, context, start_time):
- return self.conductor_rpcapi.vol_get_usage_by_time(context, start_time)
-
- def vol_usage_update(self, context, vol_id, rd_req, rd_bytes, wr_req,
- wr_bytes, instance, last_refreshed=None,
- update_totals=False):
- return self.conductor_rpcapi.vol_usage_update(context, vol_id,
- rd_req, rd_bytes,
- wr_req, wr_bytes,
- instance, last_refreshed,
- update_totals)
-
- def service_get_all(self, context):
- return self.conductor_rpcapi.service_get_all_by(context)
-
- def service_get_all_by_topic(self, context, topic):
- return self.conductor_rpcapi.service_get_all_by(context, topic=topic)
-
- def service_get_all_by_host(self, context, host):
- return self.conductor_rpcapi.service_get_all_by(context, host=host)
-
- def service_get_by_host_and_topic(self, context, host, topic):
- return self.conductor_rpcapi.service_get_all_by(context, topic, host)
-
- def service_get_by_compute_host(self, context, host):
- result = self.conductor_rpcapi.service_get_all_by(context, 'compute',
- host)
- # FIXME(comstud): A major revision bump to 2.0 should return a
- # single entry, so we should just return 'result' at that point.
- return result[0]
-
- def service_get_by_args(self, context, host, binary):
- return self.conductor_rpcapi.service_get_all_by(context, host=host,
- binary=binary)
-
- def action_event_start(self, context, values):
- return self.conductor_rpcapi.action_event_start(context, values)
-
- def action_event_finish(self, context, values):
- return self.conductor_rpcapi.action_event_finish(context, values)
-
- def service_create(self, context, values):
- return self.conductor_rpcapi.service_create(context, values)
-
- def service_destroy(self, context, service_id):
- return self.conductor_rpcapi.service_destroy(context, service_id)
-
- def compute_node_create(self, context, values):
- return self.conductor_rpcapi.compute_node_create(context, values)
-
- def compute_node_update(self, context, node, values, prune_stats=False):
- return self.conductor_rpcapi.compute_node_update(context, node,
- values, prune_stats)
-
- def compute_node_delete(self, context, node):
- return self.conductor_rpcapi.compute_node_delete(context, node)
-
- def service_update(self, context, service, values):
- return self.conductor_rpcapi.service_update(context, service, values)
-
- def task_log_get(self, context, task_name, begin, end, host, state=None):
- return self.conductor_rpcapi.task_log_get(context, task_name, begin,
- end, host, state)
-
- def task_log_begin_task(self, context, task_name, begin, end, host,
- task_items=None, message=None):
- return self.conductor_rpcapi.task_log_begin_task(context, task_name,
- begin, end, host,
- task_items, message)
-
- def task_log_end_task(self, context, task_name, begin, end, host,
- errors, message=None):
- return self.conductor_rpcapi.task_log_end_task(context, task_name,
- begin, end, host,
- errors, message)
-
- def notify_usage_exists(self, context, instance, current_period=False,
- ignore_missing_network_data=True,
- system_metadata=None, extra_usage_info=None):
- return self.conductor_rpcapi.notify_usage_exists(
- context, instance, current_period, ignore_missing_network_data,
- system_metadata, extra_usage_info)
-
- def security_groups_trigger_handler(self, context, event, *args):
- return self.conductor_rpcapi.security_groups_trigger_handler(context,
- event,
- args)
-
- def security_groups_trigger_members_refresh(self, context, group_ids):
- return self.conductor_rpcapi.security_groups_trigger_members_refresh(
- context, group_ids)
-
- def network_migrate_instance_start(self, context, instance, migration):
- return self.conductor_rpcapi.network_migrate_instance_start(context,
- instance,
- migration)
-
- def network_migrate_instance_finish(self, context, instance, migration):
- return self.conductor_rpcapi.network_migrate_instance_finish(context,
- instance,
- migration)
-
- def quota_commit(self, context, reservations, project_id=None):
- return self.conductor_rpcapi.quota_commit(context, reservations,
- project_id=project_id)
-
- def quota_rollback(self, context, reservations, project_id=None):
- return self.conductor_rpcapi.quota_rollback(context, reservations,
- project_id=project_id)
-
- def get_ec2_ids(self, context, instance):
- return self.conductor_rpcapi.get_ec2_ids(context, instance)
-
- def compute_stop(self, context, instance, do_cast=True):
- return self.conductor_rpcapi.compute_stop(context, instance, do_cast)
-
- def compute_confirm_resize(self, context, instance, migration_ref):
- return self.conductor_rpcapi.compute_confirm_resize(context,
- instance,
- migration_ref)
-
- def compute_unrescue(self, context, instance):
- return self.conductor_rpcapi.compute_unrescue(context, instance)
+ return self._manager.instance_update(context, instance_uuid,
+ updates, 'conductor')
class ComputeTaskAPI(object):
diff --git a/nova/conductor/manager.py b/nova/conductor/manager.py
index bd4268963..cc1b05cc4 100644
--- a/nova/conductor/manager.py
+++ b/nova/conductor/manager.py
@@ -17,6 +17,7 @@
import copy
from nova.api.ec2 import ec2utils
+from nova import block_device
from nova.compute import api as compute_api
from nova.compute import utils as compute_utils
from nova import exception
@@ -25,7 +26,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
@@ -66,7 +66,7 @@ class ConductorManager(manager.Manager):
namespace. See the ComputeTaskManager class for details.
"""
- RPC_API_VERSION = '1.50'
+ RPC_API_VERSION = '1.52'
def __init__(self, *args, **kwargs):
super(ConductorManager, self).__init__(service_name='conductor',
@@ -238,7 +238,7 @@ class ConductorManager(manager.Manager):
def security_group_get_by_instance(self, context, instance):
group = self.db.security_group_get_by_instance(context,
- instance['id'])
+ instance['uuid'])
return jsonutils.to_primitive(group)
def security_group_rule_get_by_security_group(self, context, secgroup):
@@ -264,9 +264,12 @@ class ConductorManager(manager.Manager):
else:
self.db.block_device_mapping_update(context, values['id'], values)
- def block_device_mapping_get_all_by_instance(self, context, instance):
+ def block_device_mapping_get_all_by_instance(self, context, instance,
+ legacy=True):
bdms = self.db.block_device_mapping_get_all_by_instance(
context, instance['uuid'])
+ if legacy:
+ bdms = block_device.legacy_mapping(bdms)
return jsonutils.to_primitive(bdms)
def block_device_mapping_destroy(self, context, bdms=None,
@@ -334,12 +337,11 @@ class ConductorManager(manager.Manager):
result = self.db.vol_get_usage_by_time(context, start_time)
return jsonutils.to_primitive(result)
+ # NOTE(kerrin): The last_refreshed argument is unused by this method
+ # and can be removed in v2.0 of the RPC API.
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,
@@ -347,8 +349,7 @@ class ConductorManager(manager.Manager):
instance['project_id'],
instance['user_id'],
instance['availability_zone'],
- last_refreshed, 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',
@@ -474,6 +475,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):
@@ -540,7 +544,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 e1f65fae2..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,17 +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):
@@ -117,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)
@@ -230,11 +256,12 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy):
values=values, create=create)
return self.call(context, msg, version='1.12')
- def block_device_mapping_get_all_by_instance(self, context, instance):
+ def block_device_mapping_get_all_by_instance(self, context, instance,
+ legacy=True):
instance_p = jsonutils.to_primitive(instance)
msg = self.make_msg('block_device_mapping_get_all_by_instance',
- instance=instance_p)
- return self.call(context, msg, version='1.13')
+ instance=instance_p, legacy=legacy)
+ return self.call(context, msg, version='1.51')
def block_device_mapping_destroy(self, context, bdms=None,
instance=None, volume_id=None,
@@ -433,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/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 78e2eb7a4..973be1a26 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -708,6 +708,96 @@ def instance_remove_security_group(context, instance_id, security_group_id):
security_group_id)
+####################
+
+
+def instance_group_create(context, values, policies=None, metadata=None,
+ members=None):
+ """Create a new group with metadata.
+
+ Each group will receive a unique uuid. This will be used for access to the
+ group.
+ """
+ return IMPL.instance_group_create(context, values, policies, metadata,
+ members)
+
+
+def instance_group_get(context, group_uuid):
+ """Get a specific group by id."""
+ return IMPL.instance_group_get(context, group_uuid)
+
+
+def instance_group_update(context, group_uuid, values):
+ """Update the attributes of an group."""
+ return IMPL.instance_group_update(context, group_uuid, values)
+
+
+def instance_group_delete(context, group_uuid):
+ """Delete an group."""
+ return IMPL.instance_group_delete(context, group_uuid)
+
+
+def instance_group_get_all(context):
+ """Get all groups."""
+ return IMPL.instance_group_get_all(context)
+
+
+def instance_group_get_all_by_project_id(context, project_id):
+ """Get all groups for a specific project_id."""
+ return IMPL.instance_group_get_all_by_project_id(context, project_id)
+
+
+def instance_group_metadata_add(context, group_uuid, metadata,
+ set_delete=False):
+ """Add metadata to the group."""
+ return IMPL.instance_group_metadata_add(context, group_uuid, metadata,
+ set_delete)
+
+
+def instance_group_metadata_delete(context, group_uuid, key):
+ """Delete metadata from the group."""
+ return IMPL.instance_group_metadata_delete(context, group_uuid, key)
+
+
+def instance_group_metadata_get(context, group_uuid):
+ """Get the metadata from the group."""
+ return IMPL.instance_group_metadata_get(context, group_uuid)
+
+
+def instance_group_members_add(context, group_uuid, members,
+ set_delete=False):
+ """Add members to the group."""
+ return IMPL.instance_group_members_add(context, group_uuid, members,
+ set_delete=set_delete)
+
+
+def instance_group_member_delete(context, group_uuid, instance_id):
+ """Delete a specific member from the group."""
+ return IMPL.instance_group_member_delete(context, group_uuid, instance_id)
+
+
+def instance_group_members_get(context, group_uuid):
+ """Get the members from the group."""
+ return IMPL.instance_group_members_get(context, group_uuid)
+
+
+def instance_group_policies_add(context, group_uuid, policies,
+ set_delete=False):
+ """Add policies to the group."""
+ return IMPL.instance_group_policies_add(context, group_uuid, policies,
+ set_delete=set_delete)
+
+
+def instance_group_policy_delete(context, group_uuid, policy):
+ """Delete a specific policy from the group."""
+ return IMPL.instance_group_policy_delete(context, group_uuid, policy)
+
+
+def instance_group_policies_get(context, group_uuid):
+ """Get the policies from the group."""
+ return IMPL.instance_group_policies_get(context, group_uuid)
+
+
###################
@@ -798,8 +888,10 @@ def network_delete_safe(context, network_id):
def network_disassociate(context, network_id, disassociate_host=True,
disassociate_project=True):
- """Disassociate the network from project or host and raise if it does
- not exist."""
+ """Disassociate the network from project or host
+
+ Raises if it does not exist.
+ """
return IMPL.network_disassociate(context, network_id, disassociate_host,
disassociate_project)
@@ -843,11 +935,6 @@ def network_get_by_cidr(context, cidr):
return IMPL.network_get_by_cidr(context, cidr)
-def network_get_all_by_instance(context, instance_id):
- """Get all networks by instance id or raise if none exist."""
- return IMPL.network_get_all_by_instance(context, instance_id)
-
-
def network_get_all_by_host(context, host):
"""All networks for which the given host is the network host."""
return IMPL.network_get_all_by_host(context, host)
@@ -1013,20 +1100,22 @@ def ec2_snapshot_create(context, snapshot_id, forced_id=None):
####################
-def block_device_mapping_create(context, values):
+def block_device_mapping_create(context, values, legacy=True):
"""Create an entry of block device mapping."""
- return IMPL.block_device_mapping_create(context, values)
+ return IMPL.block_device_mapping_create(context, values, legacy)
-def block_device_mapping_update(context, bdm_id, values):
+def block_device_mapping_update(context, bdm_id, values, legacy=True):
"""Update an entry of block device mapping."""
- return IMPL.block_device_mapping_update(context, bdm_id, values)
+ return IMPL.block_device_mapping_update(context, bdm_id, values, legacy)
-def block_device_mapping_update_or_create(context, values):
+def block_device_mapping_update_or_create(context, values, legacy=True):
"""Update an entry of block device mapping.
- If not existed, create a new entry"""
- return IMPL.block_device_mapping_update_or_create(context, values)
+
+ If not existed, create a new entry
+ """
+ return IMPL.block_device_mapping_update_or_create(context, values, legacy)
def block_device_mapping_get_all_by_instance(context, instance_uuid):
@@ -1077,9 +1166,9 @@ def security_group_get_by_project(context, project_id):
return IMPL.security_group_get_by_project(context, project_id)
-def security_group_get_by_instance(context, instance_id):
+def security_group_get_by_instance(context, instance_uuid):
"""Get security groups to which the instance is assigned."""
- return IMPL.security_group_get_by_instance(context, instance_id)
+ return IMPL.security_group_get_by_instance(context, instance_uuid)
def security_group_exists(context, project_id, group_name):
@@ -1327,8 +1416,11 @@ def instance_type_extra_specs_delete(context, flavor_id, key):
def instance_type_extra_specs_update_or_create(context, flavor_id,
extra_specs):
- """Create or update instance type extra specs. This adds or modifies the
- key/value pairs specified in the extra specs dict argument"""
+ """Create or update instance type extra specs.
+
+ This adds or modifies the key/value pairs specified in the
+ extra specs dict argument
+ """
IMPL.instance_type_extra_specs_update_or_create(context, flavor_id,
extra_specs)
@@ -1469,16 +1561,15 @@ 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,
- last_refreshed=None, update_totals=False,
- session=None):
+ update_totals=False):
"""Update cached volume usage for a volume
- Creates new record if needed."""
+
+ Creates new record if needed.
+ """
return IMPL.vol_usage_update(context, id, rd_req, rd_bytes, wr_req,
wr_bytes, instance_id, project_id, user_id,
availability_zone,
- last_refreshed=last_refreshed,
- update_totals=update_totals,
- session=session)
+ update_totals=update_totals)
###################
@@ -1522,7 +1613,8 @@ def aggregate_metadata_get_by_host(context, host, key=None):
Returns a dictionary where each value is a set, this is to cover the case
where there two aggregates have different values for the same key.
- Optional key filter"""
+ Optional key filter
+ """
return IMPL.aggregate_metadata_get_by_host(context, host, key)
@@ -1537,8 +1629,10 @@ def aggregate_host_get_by_metadata_key(context, key):
def aggregate_update(context, aggregate_id, values):
- """Update the attributes of an aggregates. If values contains a metadata
- key, it updates the aggregate metadata too."""
+ """Update the attributes of an aggregates.
+
+ If values contains a metadata key, it updates the aggregate metadata too.
+ """
return IMPL.aggregate_update(context, aggregate_id, values)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index af9486b3e..fd79ae215 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -496,7 +496,8 @@ def _prep_stats_dict(values):
@require_admin_context
def compute_node_create(context, values):
"""Creates a new ComputeNode and populates the capacity fields
- with the most recent data."""
+ with the most recent data.
+ """
_prep_stats_dict(values)
convert_datetimes(values, 'created_at', 'deleted_at', 'updated_at')
@@ -602,18 +603,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():
@@ -1752,7 +1741,7 @@ def instance_get_all_by_filters(context, filters, sort_key, sort_dir,
# For other filters that don't match this, we will do regexp matching
exact_match_filter_names = ['project_id', 'user_id', 'image_ref',
'vm_state', 'instance_type_id', 'uuid',
- 'metadata', 'host']
+ 'metadata', 'host', 'task_state']
# Filter the query
query_prefix = exact_filter(query_prefix, models.Instance,
@@ -2504,18 +2493,6 @@ def network_get_by_cidr(context, cidr):
@require_admin_context
-def network_get_all_by_instance(context, instance_id):
- result = _network_get_query(context).\
- filter_by(instance_id=instance_id).\
- all()
-
- if not result:
- raise exception.NetworkNotFoundForInstance(instance_id=instance_id)
-
- return result
-
-
-@require_admin_context
def network_get_all_by_host(context, host):
session = get_session()
fixed_host_filter = or_(models.FixedIp.host == host,
@@ -2772,6 +2749,13 @@ def reservation_get(context, uuid):
@require_admin_context
def reservation_create(context, uuid, usage, project_id, resource, delta,
+ expire):
+ return _reservation_create(context, uuid, usage, project_id,
+ resource, delta, expire)
+
+
+@require_admin_context
+def _reservation_create(context, uuid, usage, project_id, resource, delta,
expire, session=None):
reservation_ref = models.Reservation()
reservation_ref.uuid = uuid
@@ -2900,7 +2884,7 @@ def quota_reserve(context, resources, quotas, deltas, expire,
if not overs:
reservations = []
for res, delta in deltas.items():
- reservation = reservation_create(elevated,
+ reservation = _reservation_create(elevated,
str(uuid.uuid4()),
usages[res],
project_id,
@@ -3122,24 +3106,35 @@ def _scrub_empty_str_values(dct, keys_to_scrub):
del dct[key]
+def _from_legacy_values(values, legacy, allow_updates=False):
+ if legacy:
+ if allow_updates and block_device.is_safe_for_update(values):
+ return values
+ else:
+ return block_device.BlockDeviceDict.from_legacy(values)
+ else:
+ return values
+
+
@require_context
-def block_device_mapping_create(context, values):
+def block_device_mapping_create(context, values, legacy=True):
_scrub_empty_str_values(values, ['volume_size'])
+ values = _from_legacy_values(values, legacy)
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save()
@require_context
-def block_device_mapping_update(context, bdm_id, values):
+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)
-@require_context
-def block_device_mapping_update_or_create(context, values):
+def block_device_mapping_update_or_create(context, values, legacy=True):
_scrub_empty_str_values(values, ['volume_size'])
session = get_session()
with session.begin():
@@ -3148,24 +3143,32 @@ def block_device_mapping_update_or_create(context, values):
filter_by(device_name=values['device_name']).\
first()
if not result:
+ values = _from_legacy_values(values, legacy)
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save(session=session)
else:
+ values = _from_legacy_values(values, legacy, allow_updates=True)
result.update(values)
# NOTE(yamahata): same virtual device name can be specified multiple
# times. So delete the existing ones.
- virtual_name = values['virtual_name']
- if (virtual_name is not None and
- block_device.is_swap_or_ephemeral(virtual_name)):
-
- _block_device_mapping_get_query(context, session=session).\
- filter_by(instance_uuid=values['instance_uuid']).\
- filter_by(virtual_name=virtual_name).\
+ # TODO(ndipanov): Just changed to use new format for now -
+ # should be moved out of db layer or removed completely
+ if values.get('source_type') == 'blank':
+ is_swap = values.get('guest_format') == 'swap'
+ query = (_block_device_mapping_get_query(context, session=session).
+ filter_by(instance_uuid=values['instance_uuid']).
+ filter_by(source_type='blank').
filter(models.BlockDeviceMapping.device_name !=
- values['device_name']).\
- soft_delete()
+ values['device_name']))
+ if is_swap:
+ query.filter_by(guest_format='swap').soft_delete()
+ else:
+ (query.filter(or_(
+ models.BlockDeviceMapping.guest_format == None,
+ models.BlockDeviceMapping.guest_format != 'swap')).
+ soft_delete())
@require_context
@@ -3285,10 +3288,10 @@ def security_group_get_by_project(context, project_id):
@require_context
-def security_group_get_by_instance(context, instance_id):
+def security_group_get_by_instance(context, instance_uuid):
return _security_group_get_query(context, read_deleted="no").\
join(models.SecurityGroup.instances).\
- filter_by(id=instance_id).\
+ filter_by(uuid=instance_uuid).\
all()
@@ -3409,10 +3412,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(
@@ -3422,23 +3425,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
@@ -3451,22 +3452,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())
#
###################
@@ -4033,7 +4032,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
@@ -4047,6 +4049,8 @@ def cell_update(context, cell_name, values):
session = get_session()
with session.begin():
cell = _cell_get_by_name_query(context, cell_name, session=session)
+ if cell.count() == 0:
+ raise exception.CellNotFound(cell_name=cell_name)
cell.update(values)
return cell
@@ -4392,19 +4396,17 @@ 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,
- last_refreshed=None, update_totals=False, session=None):
- if not session:
- session = get_session()
+ update_totals=False):
+ session = get_session()
- if last_refreshed is None:
- last_refreshed = timeutils.utcnow()
+ refreshed = timeutils.utcnow()
with session.begin():
values = {}
# NOTE(dricco): We will be mostly updating current usage records vs
# updating total or creating records. Optimize accordingly.
if not update_totals:
- values = {'curr_last_refreshed': last_refreshed,
+ values = {'curr_last_refreshed': refreshed,
'curr_reads': rd_req,
'curr_read_bytes': rd_bytes,
'curr_writes': wr_req,
@@ -4414,7 +4416,7 @@ def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
'user_id': user_id,
'availability_zone': availability_zone}
else:
- values = {'tot_last_refreshed': last_refreshed,
+ values = {'tot_last_refreshed': refreshed,
'tot_reads': models.VolumeUsage.tot_reads + rd_req,
'tot_read_bytes': models.VolumeUsage.tot_read_bytes +
rd_bytes,
@@ -4443,7 +4445,6 @@ def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
"the database. Instance must have been rebooted "
"or crashed. Updating totals.") % id)
if not update_totals:
- values['tot_last_refreshed'] = last_refreshed
values['tot_reads'] = (models.VolumeUsage.tot_reads +
current_usage['curr_reads'])
values['tot_read_bytes'] = (
@@ -4469,11 +4470,11 @@ 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()
- vol_usage.tot_last_refreshed = timeutils.utcnow()
- vol_usage.curr_last_refreshed = timeutils.utcnow()
vol_usage.volume_id = id
vol_usage.instance_uuid = instance_id
vol_usage.project_id = project_id
@@ -4481,11 +4482,13 @@ def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
vol_usage.availability_zone = availability_zone
if not update_totals:
+ vol_usage.curr_last_refreshed = refreshed
vol_usage.curr_reads = rd_req
vol_usage.curr_read_bytes = rd_bytes
vol_usage.curr_writes = wr_req
vol_usage.curr_write_bytes = wr_bytes
else:
+ vol_usage.tot_last_refreshed = refreshed
vol_usage.tot_reads = rd_req
vol_usage.tot_read_bytes = rd_bytes
vol_usage.tot_writes = wr_req
@@ -4595,12 +4598,19 @@ def aggregate_get(context, aggregate_id):
@require_admin_context
def aggregate_get_by_host(context, host, key=None):
- query = _aggregate_get_query(context, models.Aggregate,
- models.AggregateHost.host, host)
+ """Return rows that match host (mandatory) and metadata key (optional).
+
+ :param host matches host, and is required.
+ :param key Matches metadata key, if not None.
+ """
+ query = model_query(context, models.Aggregate)
+ query = query.options(joinedload('_hosts', innerjoin=True))
+ query = query.options(joinedload('_metadata'))
+ query = query.filter(models.AggregateHost.host == host)
if key:
query = query.join("_metadata").filter(
- models.AggregateMetadata.key == key)
+ models.AggregateMetadata.key == key)
return query.all()
@@ -5168,3 +5178,357 @@ def archive_deleted_rows(context, max_rows=None):
if rows_archived >= max_rows:
break
return rows_archived
+
+
+####################
+
+
+def _instance_group_get_query(context, model_class, id_field=None, id=None,
+ session=None, read_deleted=None):
+ columns_to_join = {models.InstanceGroup: ['_policies', '_metadata',
+ '_members']}
+ query = model_query(context, model_class, session=session,
+ read_deleted=read_deleted)
+
+ for c in columns_to_join.get(model_class, []):
+ query = query.options(joinedload(c))
+
+ if id and id_field:
+ query = query.filter(id_field == id)
+
+ return query
+
+
+def instance_group_create(context, values, policies=None, metadata=None,
+ members=None):
+ """Create a new group with metadata."""
+ uuid = values.get('uuid', None)
+ if uuid is None:
+ uuid = uuidutils.generate_uuid()
+ values['uuid'] = uuid
+ session = get_session()
+ with session.begin():
+ try:
+ group = models.InstanceGroup()
+ group.update(values)
+ group.save(session=session)
+ except db_exc.DBDuplicateEntry:
+ raise exception.InstanceGroupIdExists(group_uuid=uuid)
+
+ # We don't want these to be lazy loaded later. We know there is
+ # nothing here since we just created this instance group.
+ group._policies = []
+ group._metadata = []
+ group._members = []
+ if policies:
+ _instance_group_policies_add(context, group.id, policies,
+ session=session)
+ if metadata:
+ _instance_group_metadata_add(context, group.id, metadata,
+ session=session)
+ if members:
+ _instance_group_members_add(context, group.id, members,
+ session=session)
+ return instance_group_get(context, uuid)
+
+
+def instance_group_get(context, group_uuid):
+ """Get a specific group by uuid."""
+ group = _instance_group_get_query(context,
+ models.InstanceGroup,
+ models.InstanceGroup.uuid,
+ group_uuid).\
+ first()
+ if not group:
+ raise exception.InstanceGroupNotFound(group_uuid=group_uuid)
+ return group
+
+
+def instance_group_update(context, group_uuid, values):
+ """Update the attributes of an group.
+
+ If values contains a metadata key, it updates the aggregate metadata
+ too. Similary for the policies and members.
+ """
+ session = get_session()
+ with session.begin():
+ group = model_query(context,
+ models.InstanceGroup,
+ session=session).\
+ filter_by(uuid=group_uuid).\
+ first()
+ if not group:
+ raise exception.InstanceGroupNotFound(group_uuid=group_uuid)
+
+ policies = values.get('policies')
+ if policies is not None:
+ _instance_group_policies_add(context,
+ group.id,
+ values.pop('policies'),
+ set_delete=True,
+ session=session)
+ metadata = values.get('metadata')
+ if metadata is not None:
+ _instance_group_metadata_add(context,
+ group.id,
+ values.pop('metadata'),
+ set_delete=True,
+ session=session)
+ members = values.get('members')
+ if members is not None:
+ _instance_group_members_add(context,
+ group.id,
+ values.pop('members'),
+ set_delete=True,
+ session=session)
+
+ group.update(values)
+ group.save(session=session)
+ if policies:
+ values['policies'] = policies
+ if metadata:
+ values['metadata'] = metadata
+ if members:
+ values['members'] = members
+
+
+def instance_group_delete(context, group_uuid):
+ """Delete an group."""
+ session = get_session()
+ with session.begin():
+ count = _instance_group_get_query(context,
+ models.InstanceGroup,
+ models.InstanceGroup.uuid,
+ group_uuid,
+ session=session).soft_delete()
+ if count == 0:
+ raise exception.InstanceGroupNotFound(group_uuid=group_uuid)
+
+ # Delete policies, metadata and members
+ instance_models = [models.InstanceGroupPolicy,
+ models.InstanceGroupMetadata,
+ models.InstanceGroupMember]
+ for model in instance_models:
+ model_query(context, model, session=session).\
+ filter_by(group_id=group_uuid).\
+ soft_delete()
+
+
+def instance_group_get_all(context):
+ """Get all groups."""
+ return _instance_group_get_query(context, models.InstanceGroup).all()
+
+
+def instance_group_get_all_by_project_id(context, project_id):
+ """Get all groups."""
+ return _instance_group_get_query(context, models.InstanceGroup).\
+ filter_by(project_id=project_id).\
+ all()
+
+
+def _instance_group_model_get_query(context, model_class, group_uuid,
+ session=None, read_deleted='no'):
+ return model_query(context,
+ model_class,
+ read_deleted=read_deleted,
+ session=session).\
+ filter_by(group_id=group_uuid)
+
+
+def _instance_group_id(context, group_uuid):
+ """Returns the group database ID for the group UUID."""
+
+ result = model_query(context,
+ models.InstanceGroup.id,
+ base_model=models.InstanceGroup).\
+ filter_by(uuid=group_uuid).\
+ first()
+ if not result:
+ raise exception.InstanceGroupNotFound(group_uuid=group_uuid)
+ return result.id
+
+
+def _instance_group_metadata_add(context, id, metadata, set_delete=False,
+ session=None):
+ if not session:
+ session = get_session()
+
+ with session.begin(subtransactions=True):
+ all_keys = metadata.keys()
+ query = _instance_group_model_get_query(context,
+ models.InstanceGroupMetadata,
+ id,
+ session=session)
+ if set_delete:
+ query.filter(~models.InstanceGroupMetadata.key.in_(all_keys)).\
+ soft_delete(synchronize_session=False)
+
+ query = query.filter(models.InstanceGroupMetadata.key.in_(all_keys))
+ already_existing_keys = set()
+ for meta_ref in query.all():
+ key = meta_ref.key
+ meta_ref.update({'value': metadata[key]})
+ already_existing_keys.add(key)
+
+ for key, value in metadata.iteritems():
+ if key in already_existing_keys:
+ continue
+ meta_ref = models.InstanceGroupMetadata()
+ meta_ref.update({'key': key,
+ 'value': value,
+ 'group_id': id})
+ session.add(meta_ref)
+
+ return metadata
+
+
+def instance_group_metadata_add(context, group_uuid, metadata,
+ set_delete=False):
+ id = _instance_group_id(context, group_uuid)
+ return _instance_group_metadata_add(context, id, metadata,
+ set_delete=set_delete)
+
+
+def instance_group_metadata_delete(context, group_uuid, key):
+ id = _instance_group_id(context, group_uuid)
+ count = _instance_group_get_query(context,
+ models.InstanceGroupMetadata,
+ models.InstanceGroupMetadata.group_id,
+ id).\
+ filter_by(key=key).\
+ soft_delete()
+ if count == 0:
+ raise exception.InstanceGroupMetadataNotFound(group_uuid=group_uuid,
+ metadata_key=key)
+
+
+def instance_group_metadata_get(context, group_uuid):
+ id = _instance_group_id(context, group_uuid)
+ rows = model_query(context,
+ models.InstanceGroupMetadata.key,
+ models.InstanceGroupMetadata.value,
+ base_model=models.InstanceGroupMetadata).\
+ filter_by(group_id=id).all()
+ return dict((r[0], r[1]) for r in rows)
+
+
+def _instance_group_members_add(context, id, members, set_delete=False,
+ session=None):
+ if not session:
+ session = get_session()
+
+ all_members = set(members)
+ with session.begin(subtransactions=True):
+ query = _instance_group_model_get_query(context,
+ models.InstanceGroupMember,
+ id,
+ session=session)
+ if set_delete:
+ query.filter(~models.InstanceGroupMember.instance_id.in_(
+ all_members)).\
+ soft_delete(synchronize_session=False)
+
+ query = query.filter(
+ models.InstanceGroupMember.instance_id.in_(all_members))
+ already_existing = set()
+ for member_ref in query.all():
+ already_existing.add(member_ref.instance_id)
+
+ for instance_id in members:
+ if instance_id in already_existing:
+ continue
+ member_ref = models.InstanceGroupMember()
+ member_ref.update({'instance_id': instance_id,
+ 'group_id': id})
+ session.add(member_ref)
+
+ return members
+
+
+def instance_group_members_add(context, group_uuid, members,
+ set_delete=False):
+ id = _instance_group_id(context, group_uuid)
+ return _instance_group_members_add(context, id, members,
+ set_delete=set_delete)
+
+
+def instance_group_member_delete(context, group_uuid, instance_id):
+ id = _instance_group_id(context, group_uuid)
+ count = _instance_group_get_query(context,
+ models.InstanceGroupMember,
+ models.InstanceGroupMember.group_id,
+ id).\
+ filter_by(instance_id=instance_id).\
+ soft_delete()
+ if count == 0:
+ raise exception.InstanceGroupMemberNotFound(group_uuid=group_uuid,
+ instance_id=instance_id)
+
+
+def instance_group_members_get(context, group_uuid):
+ id = _instance_group_id(context, group_uuid)
+ instances = model_query(context,
+ models.InstanceGroupMember.instance_id,
+ base_model=models.InstanceGroupMember).\
+ filter_by(group_id=id).all()
+ return [instance[0] for instance in instances]
+
+
+def _instance_group_policies_add(context, id, policies, set_delete=False,
+ session=None):
+ if not session:
+ session = get_session()
+
+ allpols = set(policies)
+ with session.begin(subtransactions=True):
+ query = _instance_group_model_get_query(context,
+ models.InstanceGroupPolicy,
+ id,
+ session=session)
+ if set_delete:
+ query.filter(~models.InstanceGroupPolicy.policy.in_(allpols)).\
+ soft_delete(synchronize_session=False)
+
+ query = query.filter(models.InstanceGroupPolicy.policy.in_(allpols))
+ already_existing = set()
+ for policy_ref in query.all():
+ already_existing.add(policy_ref.policy)
+
+ for policy in policies:
+ if policy in already_existing:
+ continue
+ policy_ref = models.InstanceGroupPolicy()
+ policy_ref.update({'policy': policy,
+ 'group_id': id})
+ session.add(policy_ref)
+
+ return policies
+
+
+def instance_group_policies_add(context, group_uuid, policies,
+ set_delete=False):
+ id = _instance_group_id(context, group_uuid)
+ return _instance_group_policies_add(context, id, policies,
+ set_delete=set_delete)
+
+
+def instance_group_policy_delete(context, group_uuid, policy):
+ id = _instance_group_id(context, group_uuid)
+ count = _instance_group_get_query(context,
+ models.InstanceGroupPolicy,
+ models.InstanceGroupPolicy.group_id,
+ id).\
+ filter_by(policy=policy).\
+ soft_delete()
+ if count == 0:
+ raise exception.InstanceGroupPolicyNotFound(group_uuid=group_uuid,
+ policy=policy)
+
+
+def instance_group_policies_get(context, group_uuid):
+ id = _instance_group_id(context, group_uuid)
+ policies = model_query(context,
+ models.InstanceGroupPolicy.policy,
+ base_model=models.InstanceGroupPolicy).\
+ filter_by(group_id=id).all()
+ return [policy[0] for policy in policies]
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/149_inet_datatype_for_postgres.py b/nova/db/sqlalchemy/migrate_repo/versions/149_inet_datatype_for_postgres.py
index 79ad6f014..c837f59f0 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/149_inet_datatype_for_postgres.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/149_inet_datatype_for_postgres.py
@@ -54,7 +54,7 @@ def upgrade(migrate_engine):
migrate_engine.execute(
"ALTER TABLE %(table)s "
"ALTER COLUMN %(column)s TYPE INET USING %(column)s::INET"
- % locals())
+ % {'table': table, 'column': column})
else:
for table, column in TABLE_COLUMNS:
t = Table(table, meta, autoload=True)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/156_cidr_column_length.py b/nova/db/sqlalchemy/migrate_repo/versions/156_cidr_column_length.py
index fda0c5075..e0425d675 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/156_cidr_column_length.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/156_cidr_column_length.py
@@ -40,7 +40,7 @@ def upgrade(migrate_engine):
migrate_engine.execute(
"ALTER TABLE %(table)s "
"ALTER COLUMN %(column)s TYPE INET USING %(column)s::INET"
- % locals())
+ % {'table': table, 'column': column})
else:
for table, column in CIDR_TABLE_COLUMNS:
t = Table(table, meta, autoload=True)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py b/nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py
new file mode 100644
index 000000000..af7fd1f79
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py
@@ -0,0 +1,128 @@
+# 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.
+#
+# @author: Victor Sergeyev, Mirantis Inc.
+#
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+from migrate.changeset import UniqueConstraint
+from migrate import ForeignKeyConstraint
+from sqlalchemy import MetaData, Table
+
+from nova.db.sqlalchemy import utils
+
+UC_DATA = {
+ # (table_name: ((columns,), old_uc_name_1), (columns,), old_uc_name_2)
+ "floating_ips": (
+ (("address", "deleted",), "uniq_address_x_deleted"),
+ ),
+ "instance_type_projects": (
+ (("instance_type_id", "project_id", "deleted"),
+ "uniq_instance_type_id_x_project_id_x_deleted"),
+ ),
+ "instance_types": (
+ (("name", "deleted"), "uniq_name_x_deleted"),
+ (("flavorid", "deleted",), "uniq_flavorid_x_deleted"),
+ ),
+ "key_pairs": (
+ (("user_id", "name", "deleted"), "key_pairs_uniq_name_and_user_id"),
+ ),
+ "networks": (
+ (("vlan", "deleted",), "uniq_vlan_x_deleted"),
+ ),
+ "task_log": (
+ (("task_name", "host", "period_beginning", "period_ending"),
+ "uniq_task_name_x_host_x_period_beginning_x_period_ending"),
+ ),
+}
+# some UC names are different for mysql and postgresql
+UC_SPEC_DB_DATA = {
+ # {engine: {table_name: (((columns,), old_uc_name), (...))}}
+ "sqlite": {
+ "instance_info_caches": (
+ (("instance_uuid",), "instance_uuid"),
+ ),
+ "virtual_interfaces": (
+ (("address",), "virtual_interfaces_instance_uuid_fkey"),
+ ),
+ },
+ "mysql": {
+ "instance_info_caches": (
+ (("instance_uuid",), "instance_uuid"),
+ ),
+ "virtual_interfaces": (
+ (("address",), "virtual_interfaces_instance_uuid_fkey"),
+ ),
+ },
+ "postgresql": {
+ "instance_info_caches": (
+ (("instance_uuid",), "instance_info_caches_instance_uuid_key"),
+ ),
+ "virtual_interfaces": (
+ (("address",), "virtual_interfaces_address_key"),
+ ),
+ },
+}
+
+
+constraint_names = {
+ "instance_info_caches": "instance_info_caches_instance_uuid_fkey",
+ "virtual_interfaces": "virtual_interfaces_instance_uuid_fkey",
+}
+
+
+def _uc_rename(migrate_engine, upgrade=True):
+ UC_DATA.update(UC_SPEC_DB_DATA[migrate_engine.name])
+
+ meta = MetaData(bind=migrate_engine)
+
+ for table in UC_DATA:
+ t = Table(table, meta, autoload=True)
+
+ for columns, old_uc_name in UC_DATA[table]:
+ new_uc_name = "uniq_{0}0{1}".format(table, "0".join(columns))
+
+ if table in constraint_names and migrate_engine.name == "mysql":
+ instances = Table("instances", meta, autoload=True)
+
+ ForeignKeyConstraint(
+ columns=[t.c.instance_uuid],
+ refcolumns=[instances.c.uuid],
+ name=constraint_names[table]
+ ).drop(engine=migrate_engine)
+
+ if upgrade:
+ old_name, new_name = old_uc_name, new_uc_name
+ else:
+ old_name, new_name = new_uc_name, old_uc_name
+
+ utils.drop_unique_constraint(migrate_engine, table,
+ old_name, *(columns))
+ UniqueConstraint(*columns, table=t, name=new_name).create()
+
+ if table in constraint_names and migrate_engine.name == "mysql":
+ ForeignKeyConstraint(
+ columns=[t.c.instance_uuid],
+ refcolumns=[instances.c.uuid],
+ name=constraint_names[table]
+ ).create(engine=migrate_engine)
+
+
+def upgrade(migrate_engine):
+ return _uc_rename(migrate_engine, upgrade=True)
+
+
+def downgrade(migrate_engine):
+ return _uc_rename(migrate_engine, upgrade=False)
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
new file mode 100644
index 000000000..e8b9a1570
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py
@@ -0,0 +1,270 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2013 OpenStack LLC.
+#
+# 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 itertools
+import re
+
+from sqlalchemy import Column, Integer, MetaData, String, Table
+from sqlalchemy.sql.expression import select
+
+from nova.openstack.common import log as logging
+from oslo.config import cfg
+
+
+CONF = cfg.CONF
+CONF.import_opt('default_ephemeral_format', 'nova.virt.driver')
+LOG = logging.getLogger(__name__)
+
+
+_ephemeral = re.compile('^ephemeral(\d|[1-9]\d+)$')
+
+
+def _is_ephemeral(device_name):
+ return bool(_ephemeral.match(device_name))
+
+
+def _is_swap_or_ephemeral(device_name):
+ return (device_name and
+ (device_name == 'swap' or _is_ephemeral(device_name)))
+
+
+_dev = re.compile('^/dev/')
+
+
+def strip_dev(device_name):
+ """remove leading '/dev/'."""
+ return _dev.sub('', device_name) if device_name else device_name
+
+
+def upgrade(migrate_engine):
+ meta = MetaData(bind=migrate_engine)
+
+ tables = [Table(table, meta, autoload=True)
+ for table in
+ ('block_device_mapping', 'shadow_block_device_mapping')]
+
+ for block_device_mapping in tables:
+ source_type = Column('source_type', String(255))
+ destination_type = Column('destination_type', String(255))
+ guest_format = Column('guest_format', String(255))
+ device_type = Column('device_type', String(255))
+ disk_bus = Column('disk_bus', String(255))
+ boot_index = Column('boot_index', Integer)
+ image_id = Column('image_id', String(36))
+
+ source_type.create(block_device_mapping)
+ destination_type.create(block_device_mapping)
+ guest_format.create(block_device_mapping)
+ device_type.create(block_device_mapping)
+ disk_bus.create(block_device_mapping)
+ boot_index.create(block_device_mapping)
+ image_id.create(block_device_mapping)
+
+ device_name = block_device_mapping.c.device_name
+ device_name.alter(nullable=True)
+
+ _upgrade_bdm_v2(meta, *tables)
+
+ for block_device_mapping in tables:
+ virtual_name = block_device_mapping.c.virtual_name
+ virtual_name.drop()
+
+
+def downgrade(migrate_engine):
+ meta = MetaData(bind=migrate_engine)
+
+ for table in ('block_device_mapping', 'shadow_block_device_mapping'):
+ block_device_mapping = Table(table, meta, autoload=True)
+
+ virtual_name = Column('virtual_name', String(255), nullable=True)
+ virtual_name.create(block_device_mapping)
+
+ _downgrade_bdm_v2(meta, block_device_mapping)
+
+ device_name = block_device_mapping.c.device_name
+ device_name.alter(nullable=True)
+
+ block_device_mapping.c.source_type.drop()
+ block_device_mapping.c.destination_type.drop()
+ block_device_mapping.c.guest_format.drop()
+ block_device_mapping.c.device_type.drop()
+ block_device_mapping.c.disk_bus.drop()
+ block_device_mapping.c.boot_index.drop()
+ block_device_mapping.c.image_id.drop()
+
+
+def _upgrade_bdm_v2(meta, bdm_table, bdm_shadow_table):
+ # Rows needed to do the upgrade
+ _bdm_rows_v1 = ('id', 'device_name', 'virtual_name',
+ 'snapshot_id', 'volume_id', 'instance_uuid')
+
+ _instance_cols = ('uuid', 'image_ref', 'root_device_name')
+
+ def _get_columns(table, names):
+ return [getattr(table.c, name) for name in names]
+
+ def _default_bdm():
+ # Set some common default values
+ default = {}
+ default['destination_type'] = 'local'
+ default['device_type'] = 'disk'
+ default['boot_index'] = -1
+ return default
+
+ instance_table = Table('instances', meta, autoload=True)
+ instance_shadow_table = Table('shadow_instances', meta, autoload=True)
+
+ live_q = select(_get_columns(instance_table, _instance_cols) +
+ _get_columns(bdm_table, _bdm_rows_v1),
+ from_obj=instance_table.join(bdm_table,
+ instance_table.c.uuid == bdm_table.c.instance_uuid))
+
+ live_on_shadow_q = select(_get_columns(instance_table, _instance_cols) +
+ _get_columns(bdm_shadow_table, _bdm_rows_v1),
+ from_obj=instance_table.join(bdm_shadow_table,
+ instance_table.c.uuid ==
+ bdm_shadow_table.c.instance_uuid))
+
+ shadow_q = select(_get_columns(instance_shadow_table, _instance_cols) +
+ _get_columns(bdm_shadow_table, _bdm_rows_v1),
+ from_obj=instance_shadow_table.join(bdm_shadow_table,
+ instance_shadow_table.c.uuid ==
+ bdm_shadow_table.c.instance_uuid))
+
+ instance_image_dict = {}
+
+ for ((instance_uuid, instance_image_ref, instance_root_device,
+ bdm_id, device_name, virtual_name, snapshot_id, volume_id,
+ _), is_shadow) in itertools.chain(
+ ((data, False) for data in live_q.execute().fetchall()),
+ ((data, True) for data in live_on_shadow_q.execute().fetchall()),
+ ((data, True) for data in shadow_q.execute().fetchall())):
+
+ if instance_image_ref and instance_uuid not in instance_image_dict:
+ image_bdm = _default_bdm()
+ image_bdm['source_type'] = 'image'
+ image_bdm['instance_uuid'] = instance_uuid
+ image_bdm['image_id'] = instance_image_ref
+ image_bdm['boot_index'] = 0
+ instance_image_dict[instance_uuid] = image_bdm
+
+ bdm_v2 = _default_bdm()
+ # Copy over some fields we'll need
+ bdm_v2['id'] = bdm_id
+ bdm_v2['device_name'] = device_name
+
+ virt_name = virtual_name
+ if _is_swap_or_ephemeral(virt_name):
+ bdm_v2['source_type'] = 'blank'
+
+ if virt_name == 'swap':
+ bdm_v2['guest_format'] = 'swap'
+ else:
+ bdm_v2['guest_format'] = CONF.default_ephemeral_format
+
+ elif snapshot_id:
+ bdm_v2['source_type'] = 'snapshot'
+ bdm_v2['destination_type'] = 'volume'
+
+ elif volume_id:
+ bdm_v2['source_type'] = 'volume'
+ bdm_v2['destination_type'] = 'volume'
+
+ else: # Log a warning that the bdm is not as expected
+ LOG.warn("Got an unexpected block device %s"
+ "that cannot be converted to v2 format")
+
+ # NOTE (ndipanov): Mark only the image or the bootable volume
+ # with boot index, as we don't support it yet.
+ # Also, make sure that instances started with
+ # the old syntax of specifying an image *and*
+ # a bootable volume still have consistend data.
+ bootable = ((strip_dev(device_name) ==
+ strip_dev(instance_root_device))
+ and bdm_v2['source_type'] != 'blank')
+
+ if bootable:
+ bdm_v2['boot_index'] = 0
+ if instance_uuid in instance_image_dict:
+ instance_image_dict[instance_uuid]['boot_index'] = -1
+
+ # Update the DB
+ my_table = bdm_table
+ if is_shadow:
+ my_table = bdm_shadow_table
+
+ my_table.update().where(
+ my_table.c.id == bdm_id
+ ).values(**bdm_v2).execute()
+
+ # Create image bdms
+ for instance_uuid, image_bdm in instance_image_dict.iteritems():
+ bdm_table.insert().values(**image_bdm).execute()
+
+
+def _downgrade_bdm_v2(meta, bdm_table):
+ # First delete all the image bdms
+
+ # NOTE (ndipanov): This will delete all the image bdms, even the ones
+ # that were potentially created as part of th normal
+ # operation, not only the upgrade. We have to do it,
+ # as we have no way of handling them in the old code.
+ bdm_table.delete().where(bdm_table.c.source_type == 'image').execute()
+
+ # NOTE (ndipanov): Set all NULL device_names (if any) to '' and let the
+ # Nova code deal with that. This is needed so that the
+ # return of nullable=True does not break, and should
+ # happen only if there are instances that are just
+ # starting up when we do the downgrade
+ bdm_table.update().where(
+ bdm_table.c.device_name == None
+ ).values(device_name='').execute()
+
+ instance = Table('instances', meta, autoload=True)
+ instance_shadow = Table('shadow_instances', meta, autoload=True)
+ instance_q = select([instance.c.uuid])
+ instance_shadow_q = select([instance_shadow.c.uuid])
+
+ for instance_uuid, in itertools.chain(
+ instance_q.execute().fetchall(),
+ instance_shadow_q.execute().fetchall()):
+ # Get all the bdms for an instance
+ bdm_q = select(
+ [bdm_table.c.id, bdm_table.c.source_type, bdm_table.c.guest_format]
+ ).where(
+ (bdm_table.c.instance_uuid == instance_uuid) &
+ (bdm_table.c.source_type == 'blank')
+ ).order_by(bdm_table.c.id.asc())
+
+ blanks = [
+ dict(zip(('id', 'source', 'format'), row))
+ for row in bdm_q.execute().fetchall()
+ ]
+
+ swap = [dev for dev in blanks if dev['format'] == 'swap']
+ assert len(swap) < 2
+ ephemerals = [dev for dev in blanks if dev not in swap]
+
+ for index, eph in enumerate(ephemerals):
+ eph['virtual_name'] = 'ephemeral' + str(index)
+
+ if swap:
+ swap[0]['virtual_name'] = 'swap'
+
+ for bdm in swap + ephemerals:
+ bdm_table.update().where(
+ bdm_table.c.id == bdm['id']
+ ).values(**bdm).execute()
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/187_add_instance_groups.py b/nova/db/sqlalchemy/migrate_repo/versions/187_add_instance_groups.py
new file mode 100644
index 000000000..227188e90
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/187_add_instance_groups.py
@@ -0,0 +1,121 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 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.
+
+from migrate.changeset import UniqueConstraint
+from sqlalchemy import Column
+from sqlalchemy import DateTime
+from sqlalchemy import ForeignKey
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import String
+from sqlalchemy import Table
+
+from nova.db.sqlalchemy import api as db
+from nova.db.sqlalchemy import utils
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ groups = Table('instance_groups', meta,
+ Column('created_at', DateTime),
+ Column('updated_at', DateTime),
+ Column('deleted_at', DateTime),
+ Column('deleted', Integer),
+ Column('id', Integer, primary_key=True, nullable=False),
+ Column('user_id', String(length=255)),
+ Column('project_id', String(length=255)),
+ Column('uuid', String(length=36), nullable=False),
+ Column('name', String(length=255)),
+ UniqueConstraint('uuid', 'deleted',
+ name='uniq_instance_groups0uuid0deleted'),
+ mysql_engine='InnoDB',
+ mysql_charset='utf8',
+ )
+
+ group_metadata = Table('instance_group_metadata', meta,
+ Column('created_at', DateTime),
+ Column('updated_at', DateTime),
+ Column('deleted_at', DateTime),
+ Column('deleted', Integer),
+ Column('id', Integer, primary_key=True, nullable=False),
+ Column('key', String(length=255)),
+ Column('value', String(length=255)),
+ Column('group_id', Integer, ForeignKey('instance_groups.id'),
+ nullable=False),
+ mysql_engine='InnoDB',
+ mysql_charset='utf8',
+ )
+
+ group_policy = Table('instance_group_policy', meta,
+ Column('created_at', DateTime),
+ Column('updated_at', DateTime),
+ Column('deleted_at', DateTime),
+ Column('deleted', Integer),
+ Column('id', Integer, primary_key=True, nullable=False),
+ Column('policy', String(length=255)),
+ Column('group_id', Integer, ForeignKey('instance_groups.id'),
+ nullable=False),
+ mysql_engine='InnoDB',
+ mysql_charset='utf8',
+ )
+
+ group_member = Table('instance_group_member', meta,
+ Column('created_at', DateTime),
+ Column('updated_at', DateTime),
+ Column('deleted_at', DateTime),
+ Column('deleted', Integer),
+ Column('id', Integer, primary_key=True, nullable=False),
+ Column('instance_id', String(length=255)),
+ Column('group_id', Integer, ForeignKey('instance_groups.id'),
+ nullable=False),
+ mysql_engine='InnoDB',
+ mysql_charset='utf8',
+ )
+
+ tables = [groups, group_metadata, group_policy, group_member]
+
+ # create all of the tables
+ for table in tables:
+ table.create()
+ utils.create_shadow_table(migrate_engine, table=table)
+
+ indexes = [
+ Index('instance_group_metadata_key_idx', group_metadata.c.key),
+ Index('instance_group_member_instance_idx',
+ group_member.c.instance_id),
+ Index('instance_group_policy_policy_idx', group_policy.c.policy)
+ ]
+
+ # Common indexes
+ if migrate_engine.name == 'mysql' or migrate_engine.name == 'postgresql':
+ for index in indexes:
+ index.create(migrate_engine)
+
+
+def downgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ table_names = ['instance_group_member', 'instance_group_policy',
+ 'instance_group_metadata', 'instance_groups']
+ for name in table_names:
+ table = Table(name, meta, autoload=True)
+ table.drop()
+ table = Table(db._SHADOW_TABLE_PREFIX + name, meta, autoload=True)
+ table.drop()
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/188_add_reason_column_to_service.py b/nova/db/sqlalchemy/migrate_repo/versions/188_add_reason_column_to_service.py
new file mode 100644
index 000000000..ed87bcfeb
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/188_add_reason_column_to_service.py
@@ -0,0 +1,36 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# 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 sqlalchemy import Column, MetaData, String, Table
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+ services = Table('services', meta, autoload=True)
+ reason = Column('disabled_reason', String(255))
+ services.create_column(reason)
+ shadow_services = Table('shadow_services', meta, autoload=True)
+ shadow_services.create_column(reason.copy())
+
+
+def downgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+ services = Table('services', meta, autoload=True)
+ services.drop_column('disabled_reason')
+ shadow_services = Table('shadow_services', meta, autoload=True)
+ shadow_services.drop_column('disabled_reason')
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 f10bc8c32..9b6d849d3 100644
--- a/nova/db/sqlalchemy/models.py
+++ b/nova/db/sqlalchemy/models.py
@@ -21,7 +21,7 @@
SQLAlchemy models for nova data.
"""
-from sqlalchemy import Column, Integer, BigInteger, String, schema
+from sqlalchemy import Column, Index, Integer, BigInteger, String, schema
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import ForeignKey, DateTime, Boolean, Text, Float
from sqlalchemy.orm import relationship, backref, object_mapper
@@ -45,20 +45,24 @@ class Service(BASE, NovaBase):
"""Represents a running service on a host."""
__tablename__ = 'services'
+ __table_args__ = ()
+
id = Column(Integer, primary_key=True)
- host = Column(String(255)) # , ForeignKey('hosts.id'))
- binary = Column(String(255))
- topic = Column(String(255))
+ host = Column(String(255), nullable=True) # , ForeignKey('hosts.id'))
+ binary = Column(String(255), nullable=True)
+ topic = Column(String(255), nullable=True)
report_count = Column(Integer, nullable=False, default=0)
disabled = Column(Boolean, default=False)
+ disabled_reason = Column(String(255))
class ComputeNode(BASE, NovaBase):
"""Represents a running compute service on a host."""
__tablename__ = 'compute_nodes'
+ __table_args__ = ()
id = Column(Integer, primary_key=True)
- service_id = Column(Integer, ForeignKey('services.id'), nullable=True)
+ service_id = Column(Integer, ForeignKey('services.id'), nullable=False)
service = relationship(Service,
backref=backref('compute_node'),
foreign_keys=service_id,
@@ -66,23 +70,23 @@ class ComputeNode(BASE, NovaBase):
'ComputeNode.service_id == Service.id,'
'ComputeNode.deleted == 0)')
- vcpus = Column(Integer)
- memory_mb = Column(Integer)
- local_gb = Column(Integer)
- vcpus_used = Column(Integer)
- memory_mb_used = Column(Integer)
- local_gb_used = Column(Integer)
- hypervisor_type = Column(Text)
- hypervisor_version = Column(Integer)
- hypervisor_hostname = Column(String(255))
+ vcpus = Column(Integer, nullable=False)
+ memory_mb = Column(Integer, nullable=False)
+ local_gb = Column(Integer, nullable=False)
+ vcpus_used = Column(Integer, nullable=False)
+ memory_mb_used = Column(Integer, nullable=False)
+ local_gb_used = Column(Integer, nullable=False)
+ hypervisor_type = Column(Text, nullable=False)
+ hypervisor_version = Column(Integer, nullable=False)
+ hypervisor_hostname = Column(String(255), nullable=True)
# Free Ram, amount of activity (resize, migration, boot, etc) and
# the number of running VM's are a good starting point for what's
# important when making scheduling decisions.
- free_ram_mb = Column(Integer)
- free_disk_gb = Column(Integer)
- current_workload = Column(Integer)
- running_vms = Column(Integer)
+ free_ram_mb = Column(Integer, nullable=True)
+ free_disk_gb = Column(Integer, nullable=True)
+ current_workload = Column(Integer, nullable=True)
+ running_vms = Column(Integer, nullable=True)
# Note(masumotok): Expected Strings example:
#
@@ -95,17 +99,25 @@ class ComputeNode(BASE, NovaBase):
# above, since it is copied from <cpu> tag of getCapabilities()
# (See libvirt.virtConnection).
cpu_info = Column(Text, nullable=True)
- disk_available_least = Column(Integer)
+ disk_available_least = Column(Integer, nullable=True)
class ComputeNodeStat(BASE, NovaBase):
"""Stats related to the current workload of a compute host that are
- intended to aid in making scheduler decisions."""
+ intended to aid in making scheduler decisions.
+ """
__tablename__ = 'compute_node_stats'
+ __table_args__ = (
+ Index('ix_compute_node_stats_compute_node_id', 'compute_node_id'),
+ Index('compute_node_stats_node_id_and_deleted_idx',
+ 'compute_node_id', 'deleted')
+ )
+
id = Column(Integer, primary_key=True)
- key = Column(String(511))
- value = Column(String(255))
- compute_node_id = Column(Integer, ForeignKey('compute_nodes.id'))
+ key = Column(String(511), nullable=False)
+ value = Column(String(255), nullable=False)
+ compute_node_id = Column(Integer, ForeignKey('compute_nodes.id'),
+ nullable=False)
primary_join = ('and_(ComputeNodeStat.compute_node_id == '
'ComputeNode.id, ComputeNodeStat.deleted == 0)')
@@ -119,16 +131,34 @@ class ComputeNodeStat(BASE, NovaBase):
class Certificate(BASE, NovaBase):
"""Represents a x509 certificate."""
__tablename__ = 'certificates'
+ __table_args__ = (
+ Index('certificates_project_id_deleted_idx', 'project_id', 'deleted'),
+ Index('certificates_user_id_deleted_idx', 'user_id', 'deleted')
+ )
id = Column(Integer, primary_key=True)
- user_id = Column(String(255))
- project_id = Column(String(255))
- file_name = Column(String(255))
+ user_id = Column(String(255), nullable=True)
+ project_id = Column(String(255), nullable=True)
+ file_name = Column(String(255), nullable=True)
class Instance(BASE, NovaBase):
"""Represents a guest VM."""
__tablename__ = 'instances'
+ __table_args__ = (
+ Index('instances_host_deleted_idx',
+ 'host', 'deleted'),
+ Index('instances_reservation_id_idx',
+ 'reservation_id'),
+ Index('instances_terminated_at_launched_at_idx',
+ 'terminated_at', 'launched_at'),
+ Index('instances_uuid_deleted_idx',
+ 'uuid', 'deleted'),
+ Index('instances_task_state_updated_at_idx',
+ 'task_state', 'updated_at'),
+ Index('instances_host_node_deleted_idx',
+ 'host', 'node', 'deleted')
+ )
injected_files = []
id = Column(Integer, primary_key=True, autoincrement=True)
@@ -158,87 +188,87 @@ class Instance(BASE, NovaBase):
def _extra_keys(self):
return ['name']
- user_id = Column(String(255))
- project_id = Column(String(255))
+ user_id = Column(String(255), nullable=True)
+ project_id = Column(String(255), nullable=True)
- image_ref = Column(String(255))
- kernel_id = Column(String(255))
- ramdisk_id = Column(String(255))
- hostname = Column(String(255))
+ image_ref = Column(String(255), nullable=True)
+ kernel_id = Column(String(255), nullable=True)
+ ramdisk_id = Column(String(255), nullable=True)
+ hostname = Column(String(255), nullable=True)
- launch_index = Column(Integer)
- key_name = Column(String(255))
+ launch_index = Column(Integer, nullable=True)
+ key_name = Column(String(255), nullable=True)
key_data = Column(Text)
- power_state = Column(Integer)
- vm_state = Column(String(255))
- task_state = Column(String(255))
+ power_state = Column(Integer, nullable=True)
+ vm_state = Column(String(255), nullable=True)
+ task_state = Column(String(255), nullable=True)
- memory_mb = Column(Integer)
- vcpus = Column(Integer)
- root_gb = Column(Integer)
- ephemeral_gb = Column(Integer)
+ memory_mb = Column(Integer, nullable=True)
+ vcpus = Column(Integer, nullable=True)
+ root_gb = Column(Integer, nullable=True)
+ ephemeral_gb = Column(Integer, nullable=True)
# This is not related to hostname, above. It refers
# to the nova node.
- host = Column(String(255)) # , ForeignKey('hosts.id'))
+ host = Column(String(255), nullable=True) # , ForeignKey('hosts.id'))
# To identify the "ComputeNode" which the instance resides in.
# This equals to ComputeNode.hypervisor_hostname.
- node = Column(String(255))
+ node = Column(String(255), nullable=True)
# *not* flavor_id
- instance_type_id = Column(Integer)
+ instance_type_id = Column(Integer, nullable=True)
- user_data = Column(Text)
+ user_data = Column(Text, nullable=True)
- reservation_id = Column(String(255))
+ reservation_id = Column(String(255), nullable=True)
- scheduled_at = Column(DateTime)
- launched_at = Column(DateTime)
- terminated_at = Column(DateTime)
+ scheduled_at = Column(DateTime, nullable=True)
+ launched_at = Column(DateTime, nullable=True)
+ terminated_at = Column(DateTime, nullable=True)
- availability_zone = Column(String(255))
+ availability_zone = Column(String(255), nullable=True)
# User editable field for display in user-facing UIs
- display_name = Column(String(255))
- display_description = Column(String(255))
+ display_name = Column(String(255), nullable=True)
+ display_description = Column(String(255), nullable=True)
# To remember on which host an instance booted.
# An instance may have moved to another host by live migration.
- launched_on = Column(Text)
- locked = Column(Boolean)
+ launched_on = Column(Text, nullable=True)
+ locked = Column(Boolean, nullable=True)
- os_type = Column(String(255))
- architecture = Column(String(255))
- vm_mode = Column(String(255))
- uuid = Column(String(36))
+ os_type = Column(String(255), nullable=True)
+ architecture = Column(String(255), nullable=True)
+ vm_mode = Column(String(255), nullable=True)
+ uuid = Column(String(36), unique=True)
- root_device_name = Column(String(255))
+ root_device_name = Column(String(255), nullable=True)
default_ephemeral_device = Column(String(255), nullable=True)
default_swap_device = Column(String(255), nullable=True)
- config_drive = Column(String(255))
+ config_drive = Column(String(255), nullable=True)
# User editable field meant to represent what ip should be used
# to connect to the instance
- access_ip_v4 = Column(types.IPAddress())
- access_ip_v6 = Column(types.IPAddress())
+ access_ip_v4 = Column(types.IPAddress(), nullable=True)
+ access_ip_v6 = Column(types.IPAddress(), nullable=True)
- auto_disk_config = Column(Boolean())
- progress = Column(Integer)
+ auto_disk_config = Column(Boolean(), nullable=True)
+ progress = Column(Integer, nullable=True)
# EC2 instance_initiated_shutdown_terminate
# True: -> 'terminate'
# False: -> 'stop'
# Note(maoy): currently Nova will always stop instead of terminate
# no matter what the flag says. So we set the default to False.
- shutdown_terminate = Column(Boolean(), default=False, nullable=False)
+ shutdown_terminate = Column(Boolean(), default=False, nullable=True)
# EC2 disable_api_termination
- disable_terminate = Column(Boolean(), default=False, nullable=False)
+ disable_terminate = Column(Boolean(), default=False, nullable=True)
# OpenStack compute cell name. This will only be set at the top of
# the cells tree and it'll be a full cell name such as 'api!hop1!hop2'
- cell_name = Column(String(255))
+ cell_name = Column(String(255), nullable=True)
class InstanceInfoCache(BASE, NovaBase):
@@ -246,6 +276,10 @@ class InstanceInfoCache(BASE, NovaBase):
Represents a cache of information about an instance
"""
__tablename__ = 'instance_info_caches'
+ __table_args__ = (
+ schema.UniqueConstraint(
+ "instance_uuid",
+ name="uniq_instance_info_caches0instance_uuid"),)
id = Column(Integer, primary_key=True, autoincrement=True)
# text column used for storing a json object of network data for api
@@ -262,6 +296,14 @@ class InstanceInfoCache(BASE, NovaBase):
class InstanceTypes(BASE, NovaBase):
"""Represent possible instance_types or flavor of VM offered."""
__tablename__ = "instance_types"
+
+ __table_args__ = (
+ schema.UniqueConstraint("flavorid", "deleted",
+ name="uniq_instance_types0flavorid0deleted"),
+ schema.UniqueConstraint("name", "deleted",
+ name="uniq_instance_types0name0deleted")
+ )
+
id = Column(Integer, primary_key=True)
name = Column(String(255))
memory_mb = Column(Integer)
@@ -432,7 +474,16 @@ class BlockDeviceMapping(BASE, NovaBase):
'Instance.uuid,'
'BlockDeviceMapping.deleted=='
'0)')
- device_name = Column(String(255), nullable=False)
+
+ source_type = Column(String(255))
+ destination_type = Column(String(255))
+ guest_format = Column(String(255))
+ device_type = Column(String(255))
+ disk_bus = Column(String(255))
+
+ boot_index = Column(Integer)
+
+ device_name = Column(String(255))
# default=False for compatibility of the existing code.
# With EC2 API,
@@ -440,14 +491,13 @@ class BlockDeviceMapping(BASE, NovaBase):
# default False for created with other timing.
delete_on_termination = Column(Boolean, default=False)
- # for ephemeral device
- virtual_name = Column(String(255), nullable=True)
-
snapshot_id = Column(String(36))
volume_id = Column(String(36), nullable=True)
volume_size = Column(Integer, nullable=True)
+ image_id = Column('image_id', String(36))
+
# for no device to suppress devices.
no_device = Column(Boolean, nullable=True)
@@ -552,7 +602,10 @@ class ProviderFirewallRule(BASE, NovaBase):
class KeyPair(BASE, NovaBase):
"""Represents a public key pair for ssh."""
__tablename__ = 'key_pairs'
- __table_args__ = (schema.UniqueConstraint("name", "user_id"), )
+ __table_args__ = (
+ schema.UniqueConstraint("name", "user_id", "deleted",
+ name="uniq_key_pairs0user_id0name0deleted"),
+ )
id = Column(Integer, primary_key=True)
name = Column(String(255))
@@ -591,8 +644,11 @@ class Migration(BASE, NovaBase):
class Network(BASE, NovaBase):
"""Represents a network."""
__tablename__ = 'networks'
- __table_args__ = (schema.UniqueConstraint("vpn_public_address",
- "vpn_public_port"), )
+ __table_args__ = (
+ schema.UniqueConstraint("vlan", "deleted",
+ name="uniq_networks0vlan0deleted"),
+ )
+
id = Column(Integer, primary_key=True)
label = Column(String(255))
@@ -628,6 +684,10 @@ class Network(BASE, NovaBase):
class VirtualInterface(BASE, NovaBase):
"""Represents a virtual interface on an instance."""
__tablename__ = 'virtual_interfaces'
+ __table_args__ = (
+ schema.UniqueConstraint("address",
+ name="unique_virtual_interfaces0address"),
+ )
id = Column(Integer, primary_key=True)
address = Column(String(255), unique=True)
network_id = Column(Integer, nullable=False)
@@ -669,6 +729,10 @@ class FixedIp(BASE, NovaBase):
class FloatingIp(BASE, NovaBase):
"""Represents a floating ip that dynamically forwards to a fixed ip."""
__tablename__ = 'floating_ips'
+ __table_args__ = (
+ schema.UniqueConstraint("address", "deleted",
+ name="uniq_floating_ips0address0deleted"),
+ )
id = Column(Integer, primary_key=True)
address = Column(types.IPAddress())
fixed_ip_id = Column(Integer, nullable=True)
@@ -757,6 +821,11 @@ class InstanceSystemMetadata(BASE, NovaBase):
class InstanceTypeProjects(BASE, NovaBase):
"""Represent projects associated instance_types."""
__tablename__ = "instance_type_projects"
+ __table_args__ = (schema.UniqueConstraint(
+ "instance_type_id", "project_id", "deleted",
+ name="uniq_instance_type_projects0instance_type_id0project_id0deleted"
+ ),
+ )
id = Column(Integer, primary_key=True)
instance_type_id = Column(Integer, ForeignKey('instance_types.id'),
nullable=False)
@@ -790,6 +859,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))
@@ -983,6 +1056,12 @@ class InstanceIdMapping(BASE, NovaBase):
class TaskLog(BASE, NovaBase):
"""Audit log for background periodic tasks."""
__tablename__ = 'task_log'
+ __table_args__ = (
+ schema.UniqueConstraint(
+ 'task_name', 'host', 'period_beginning', 'period_ending',
+ name="uniq_task_log0task_name0host0period_beginning0period_ending"
+ ),
+ )
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
task_name = Column(String(255), nullable=False)
state = Column(String(255), nullable=False)
@@ -992,3 +1071,72 @@ class TaskLog(BASE, NovaBase):
message = Column(String(255), nullable=False)
task_items = Column(Integer(), default=0)
errors = Column(Integer(), default=0)
+
+
+class InstanceGroupMember(BASE, NovaBase):
+ """Represents the members for an instance group."""
+ __tablename__ = 'instance_group_member'
+ id = Column(Integer, primary_key=True, nullable=False)
+ instance_id = Column(String(255), nullable=False)
+ group_id = Column(Integer, ForeignKey('instance_groups.id'),
+ nullable=False)
+
+
+class InstanceGroupPolicy(BASE, NovaBase):
+ """Represents the policy type for an instance group."""
+ __tablename__ = 'instance_group_policy'
+ id = Column(Integer, primary_key=True, nullable=False)
+ policy = Column(String(255), nullable=False)
+ group_id = Column(Integer, ForeignKey('instance_groups.id'),
+ nullable=False)
+
+
+class InstanceGroupMetadata(BASE, NovaBase):
+ """Represents a key/value pair for an instance group."""
+ __tablename__ = 'instance_group_metadata'
+ id = Column(Integer, primary_key=True, nullable=False)
+ key = Column(String(255), nullable=False)
+ value = Column(String(255), nullable=False)
+ group_id = Column(Integer, ForeignKey('instance_groups.id'),
+ nullable=False)
+
+
+class InstanceGroup(BASE, NovaBase):
+ """Represents an instance group.
+
+ A group will maintain a collection of instances and the relationship
+ between them.
+ """
+
+ __tablename__ = 'instance_groups'
+ __table_args__ = (schema.UniqueConstraint("uuid", "deleted"), )
+
+ id = Column(Integer, primary_key=True, autoincrement=True)
+ user_id = Column(String(255))
+ project_id = Column(String(255))
+ uuid = Column(String(36), nullable=False)
+ name = Column(String(255))
+ _policies = relationship(InstanceGroupPolicy, primaryjoin='and_('
+ 'InstanceGroup.id == InstanceGroupPolicy.group_id,'
+ 'InstanceGroupPolicy.deleted == 0,'
+ 'InstanceGroup.deleted == 0)')
+ _metadata = relationship(InstanceGroupMetadata, primaryjoin='and_('
+ 'InstanceGroup.id == InstanceGroupMetadata.group_id,'
+ 'InstanceGroupMetadata.deleted == 0,'
+ 'InstanceGroup.deleted == 0)')
+ _members = relationship(InstanceGroupMember, primaryjoin='and_('
+ 'InstanceGroup.id == InstanceGroupMember.group_id,'
+ 'InstanceGroupMember.deleted == 0,'
+ 'InstanceGroup.deleted == 0)')
+
+ @property
+ def policies(self):
+ return [p.policy for p in self._policies]
+
+ @property
+ def metadetails(self):
+ return dict((m.key, m.value) for m in self._metadata)
+
+ @property
+ def members(self):
+ return [m.instance_id for m in self._members]
diff --git a/nova/db/sqlalchemy/utils.py b/nova/db/sqlalchemy/utils.py
index 6a24ecb97..6c0a53846 100644
--- a/nova/db/sqlalchemy/utils.py
+++ b/nova/db/sqlalchemy/utils.py
@@ -15,6 +15,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import re
+
from migrate.changeset import UniqueConstraint
from sqlalchemy import Boolean
from sqlalchemy import CheckConstraint
@@ -27,6 +29,7 @@ from sqlalchemy import func
from sqlalchemy import Index
from sqlalchemy import Integer
from sqlalchemy import MetaData
+from sqlalchemy import schema
from sqlalchemy.sql.expression import literal_column
from sqlalchemy.sql.expression import UpdateBase
from sqlalchemy.sql import select
@@ -47,7 +50,8 @@ def get_table(engine, name):
"""Returns an sqlalchemy table dynamically from db.
Needed because the models don't work for us in migrations
- as models will be far out of sync with the current data."""
+ as models will be far out of sync with the current data.
+ """
metadata = MetaData()
metadata.bind = engine
return Table(name, metadata, autoload=True)
@@ -69,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).")
@@ -83,6 +87,28 @@ def _get_not_supported_column(col_name_col_instance, column_name):
return column
+def _get_unique_constraints_in_sqlite(migrate_engine, table_name):
+ regexp = "CONSTRAINT (\w+) UNIQUE \(([^\)]+)\)"
+
+ meta = MetaData(bind=migrate_engine)
+ table = Table(table_name, meta, autoload=True)
+
+ sql_data = migrate_engine.execute(
+ """SELECT sql FROM sqlite_master
+ WHERE type = 'table' and name = '{0}';"""
+ .format(table_name)
+ ).fetchone()[0]
+
+ uniques = set([
+ schema.UniqueConstraint(
+ *[getattr(table.c, c.strip()) for c in cols.split(",")], name=name
+ )
+ for name, cols in re.findall(regexp, sql_data)
+ ])
+
+ return uniques
+
+
def _drop_unique_constraint_in_sqlite(migrate_engine, table_name, uc_name,
**col_name_col_instance):
insp = reflection.Inspector.from_engine(migrate_engine)
@@ -98,6 +124,9 @@ def _drop_unique_constraint_in_sqlite(migrate_engine, table_name, uc_name,
else:
columns.append(column.copy())
+ uniques = _get_unique_constraints_in_sqlite(migrate_engine, table_name)
+ table.constraints.update(uniques)
+
constraints = [constraint for constraint in table.constraints
if not constraint.name == uc_name]
diff --git a/nova/exception.py b/nova/exception.py
index bbe5442f1..e5924b831 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
@@ -221,6 +223,17 @@ class InvalidBDMVolume(InvalidBDM):
"failed to get volume %(id)s.")
+class InvalidBDMFormat(InvalidBDM):
+ message = _("Block Device Mapping is Invalid: "
+ "some fields are not recognized, "
+ "or have invalid values.")
+
+
+class InvalidBDMForLegacy(InvalidBDM):
+ message = _("Block Device Mapping cannot "
+ "be converted to legacy format. ")
+
+
class VolumeUnattached(Invalid):
message = _("Volume %(volume_id)s is not attached to anything")
@@ -662,10 +675,6 @@ 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.")
@@ -814,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")
@@ -895,7 +908,7 @@ class RotationRequiredForBackup(NovaException):
class KeyPairExists(Duplicate):
- message = _("Key pair %(key_name)s already exists.")
+ message = _("Key pair '%(key_name)s' already exists.")
class InstanceExists(Duplicate):
@@ -953,6 +966,10 @@ class ResizeError(NovaException):
message = _("Resize error: %(reason)s")
+class CannotResizeDisk(NovaException):
+ message = _("Server disk was unable to be resized because: %(reason)s")
+
+
class InstanceTypeMemoryTooSmall(NovaException):
message = _("Instance type's memory is too small for requested image.")
@@ -1167,7 +1184,7 @@ class InstanceRecreateNotSupported(Invalid):
class ServiceGroupUnavailable(NovaException):
- message = _("The service from servicegroup driver %(driver) is "
+ message = _("The service from servicegroup driver %(driver)s is "
"temporarily unavailable.")
@@ -1220,3 +1237,42 @@ class OrphanedObjectError(NovaException):
class IncompatibleObjectVersion(NovaException):
message = _('Version %(objver)s of %(objname)s is not supported')
+
+
+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.")
+
+
+class InstanceGroupIdExists(Duplicate):
+ message = _("Instance group %(group_uuid)s already exists.")
+
+
+class InstanceGroupMetadataNotFound(NotFound):
+ message = _("Instance group %(group_uuid)s has no metadata with "
+ "key %(metadata_key)s.")
+
+
+class InstanceGroupMemberNotFound(NotFound):
+ message = _("Instance group %(group_uuid)s has no member with "
+ "id %(instance_id)s.")
+
+
+class InstanceGroupPolicyNotFound(NotFound):
+ message = _("Instance group %(group_uuid)s has no policy %(policy)s.")
diff --git a/nova/image/glance.py b/nova/image/glance.py
index 798115957..69c686006 100644
--- a/nova/image/glance.py
+++ b/nova/image/glance.py
@@ -246,7 +246,8 @@ class GlanceImageService(object):
def get_location(self, context, image_id):
"""Returns the direct url representing the backend storage location,
- or None if this attribute is not shown by Glance."""
+ or None if this attribute is not shown by Glance.
+ """
try:
client = GlanceClientWrapper()
image_meta = client.call(context, 2, 'get', image_id)
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 c84bbc736..9d1784a0c 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-18 19:07+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bulgarian (Bulgaria) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/bs/LC_MESSAGES/nova.po b/nova/locale/bs/LC_MESSAGES/nova.po
index d5c460a09..bb547fb88 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -457,863 +464,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1332,7 +1376,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1369,148 +1413,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1524,7 +1563,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 ""
@@ -1543,124 +1582,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1670,261 +1709,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1973,43 +2012,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2038,7 +2107,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2218,7 +2287,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2322,290 +2391,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2684,7 +2753,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2776,28 +2845,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2889,13 +2963,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2944,7 +3018,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2992,7 +3066,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3020,34 +3094,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3072,12 +3146,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3188,18 +3256,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3207,7 +3292,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3224,36 +3309,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3318,26 +3411,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3381,98 +3474,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3484,30 +3582,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3517,35 +3615,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3566,552 +3664,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4169,686 +4278,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4948,11 +5060,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4962,18 +5074,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5055,11 +5167,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5077,24 +5189,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5111,57 +5243,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5185,47 +5317,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5350,23 +5487,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5391,109 +5528,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5501,98 +5638,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5627,78 +5764,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5720,7 +5858,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5733,45 +5871,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5783,21 +5921,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6000,21 +6138,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6204,7 +6352,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6233,44 +6381,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6495,7 +6643,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6613,7 +6761,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6634,10 +6782,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6645,6 +6800,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6835,12 +6995,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6885,13 +7045,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6904,64 +7057,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6971,22 +7131,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7052,28 +7212,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7083,25 +7251,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7110,42 +7278,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7254,22 +7422,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7289,7 +7457,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7299,28 +7467,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7405,15 +7573,15 @@ 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 ""
@@ -7895,16 +8063,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8247,12 +8415,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8410,7 +8578,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8429,250 +8597,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8680,73 +8854,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8754,50 +8931,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8807,67 +8984,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8878,33 +9055,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9050,22 +9227,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. "
@@ -9073,17 +9250,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9120,14 +9297,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9135,7 +9312,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9143,7 +9320,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9151,7 +9328,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9159,87 +9336,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9343,26 +9520,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9508,32 +9685,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9543,39 +9720,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9584,38 +9761,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9658,57 +9835,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9716,311 +9893,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10083,7 +10259,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10092,12 +10268,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10106,116 +10282,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10231,75 +10402,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10331,7 +10502,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10340,37 +10511,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10381,371 +10552,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10753,282 +10938,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11077,24 +11255,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11105,7 +11283,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11115,32 +11293,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 ""
@@ -11158,3 +11336,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ca/LC_MESSAGES/nova.po b/nova/locale/ca/LC_MESSAGES/nova.po
index 228d4c0f5..9e9bacdd8 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Catalan "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/cs/LC_MESSAGES/nova.po b/nova/locale/cs/LC_MESSAGES/nova.po
index 3b40fb860..13c60c019 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr "block_device_list %s"
@@ -162,77 +162,84 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "Data páru klíÄů jsou neplatná"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "Požadavek je neplatný."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Obdržen neplatný vstup"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Neplatný svazek"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Neplatná metadata"
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Neplatný klÃ­Ä metadata"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Neplatný protokol IP %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Neplatný typ obsahu %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Neplatný cidr %(cidr)s."
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -241,16 +248,16 @@ msgstr ""
"Nelze provést Äinnost '%(action)s' na agregátu %(aggregate_id)s. Důvod: "
"%(reason)s."
-#: nova/exception.py:291
+#: nova/exception.py:302
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "Nebyl nalezen žádný platný hostitel. %(reason)s"
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -259,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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s není spuštěna."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, 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:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s není pozastavena."
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Nelze pozastavit instanci"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Nelze vložit soubor: %(resp)r"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, 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:332
+#: nova/exception.py:343
#, 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:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Služba je v tuto chvíli nedostupná."
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, 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:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr "Zadaný typ hypervizoru je neplatný."
-#: nova/exception.py:369
+#: nova/exception.py:380
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:374
+#: nova/exception.py:385
#, 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:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "Zadaná cesta zařízení (%(path)s) je neplatná."
-#: nova/exception.py:383
+#: nova/exception.py:394
#, 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:388
+#: nova/exception.py:399
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "Zadaná cesta zařízení (%(path)s) je neplatná."
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "Nepřijatelné informace o procesoru"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -380,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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -391,86 +398,86 @@ msgstr ""
" fyzickým adaptérem. OÄekávaný vSwitch je %(expected)s, ale spojený je "
"%(actual)s."
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formát disku %(disk_format)s není přijatelný"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Obraz %(image_id)s je nepřijatelný: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "Instance %(instance_id)s je nepřijatelná: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Id Ec2 %(ec2_id)s je nepřijatelné."
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Neplatný cidr %(cidr)s."
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "instance - %s není přítomno"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "Zdroj nemohl být nalezen."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "Žádná pevná IP není spojena s %(id)s."
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Svazek %(volume_id)s nemohl být nastaven."
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Snímek %(snapshot_id)s nemohl být nalezen."
-#: nova/exception.py:459
+#: nova/exception.py:470
#, 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:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "Źádný disk ve %(location)s"
-#: nova/exception.py:467
+#: nova/exception.py:478
#, 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:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Neplatný href %(image_href)s obrazu."
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Obraz %(image_id)s nemohl být nalezen."
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -478,65 +485,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Projekt %(project_id)s nemohl být nalezen."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "Nelze najít SR pro Ätení/zápis VDI."
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:502
+#: nova/exception.py:513
#, 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:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, 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:518
+#: nova/exception.py:529
#, 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:522
+#: nova/exception.py:533
#, 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:526
+#: nova/exception.py:537
#, 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:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -545,238 +552,233 @@ msgstr ""
"BuÄ síť uuid %(network_uuid)s není přítomna nebo je pÅ™idÄ›lena projektu "
"%(project_id)s."
-#: nova/exception.py:539
+#: nova/exception.py:550
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:543
+#: nova/exception.py:554
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, 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:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "Žádná pevná IP není spojena s %(id)s."
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "Pevná ip není pro adresu %(address)s nalezena."
-#: nova/exception.py:563
+#: nova/exception.py:574
#, 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:567
+#: nova/exception.py:578
#, 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:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, 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:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "Pevná IP adresa (%(address)s) je neplatná."
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr "Je dostupno nula pevných ip."
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr "Bylo nalezeno nula pevných ip."
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "Plovoucí ip není nalezena pro id %(id)s."
-#: nova/exception.py:616
+#: nova/exception.py:627
#, 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:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "Plovoucí ip nenalezeno pro adresu %(address)s."
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "Plovoucí ip nenalezeno pro hostitele %(host)s."
-#: nova/exception.py:628
+#: nova/exception.py:639
#, fuzzy, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "Plovoucí ip nenalezeno pro adresu %(address)s."
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Nenalezeny žádné plovoucí ip"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr "Je dostupných nula plovoucích ip."
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr "Existuje nula plovoucích ip."
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Rozhraní %(interface)s nenalezeno."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, 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:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certifikát %(certificate_id)s nenalezen."
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Služba %(service_id)s nemohla být nalezena."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Hostitel %(host)s nemohl být nalezen."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, 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:682
+#: nova/exception.py:689
#, 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:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "Kvóta nemohla být nalezena."
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, 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:707
+#: nova/exception.py:714
#, 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:711
+#: nova/exception.py:718
#, 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:715
+#: nova/exception.py:722
#, 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:719
+#: nova/exception.py:726
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "Rozšířený zdroj: %s"
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "BezpeÄnostní skupina %(security_group_id)s není nalezena."
-#: nova/exception.py:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, 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:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -785,7 +787,7 @@ msgstr ""
"BezpeÄnostní skupina %(security_group_id)s je již pÅ™idružena k instanci "
"%(instance_id)s"
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -794,37 +796,37 @@ msgstr ""
"BezpeÄnostní skupina %(security_group_id)s není pÅ™idružena k instanci "
"%(instance_id)s"
-#: nova/exception.py:746
+#: nova/exception.py:753
#, 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:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Přesun %(migration_id)s nemohl být nalezen."
-#: nova/exception.py:764
+#: nova/exception.py:771
#, 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:769
+#: nova/exception.py:776
#, 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:773
+#: nova/exception.py:780
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -833,17 +835,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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "Konzole %(console_id)s nemohla být nalezena."
-#: nova/exception.py:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
@@ -852,88 +854,93 @@ msgstr ""
"Konzole pro instanci %(instance_id)s v zásobě %(pool_id)s nemohla být "
"nalezena."
-#: nova/exception.py:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Neplatná konzole typu %(console_type)s "
-#: nova/exception.py:796
+#: nova/exception.py:803
#, 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:800
+#: nova/exception.py:807
#, 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:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Konfigurace %(flavor_id)s nemohla být nalezena."
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "skupina svazku %s neexistuje"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "PÅ™i Äekání na odpovÄ›Ä RPC vyprÅ¡el Äas: %s"
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, 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:846
+#: nova/exception.py:857
#, 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:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, 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:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -942,422 +949,459 @@ msgstr ""
"Instance typu %(instance_type_id)s nemá žádné dodateÄné specifikace s "
"klíÄem %(extra_specs_key)s."
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "Soubor %(file_path)s nemohl být nalezen."
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr "Nalezeno nula souborů."
-#: nova/exception.py:873
+#: nova/exception.py:884
#, 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:878
+#: nova/exception.py:889
#, 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:882
+#: nova/exception.py:893
#, 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:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "Činnost není povolena."
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr "Střídání není povoleno pro snímky"
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr "Parametr rotation je vyžadován pro backup image_type"
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr "Instance %(name)s již existuje."
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, 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:923
+#: nova/exception.py:934
#, 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:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr "Chyba přesunu"
-#: nova/exception.py:931
+#: nova/exception.py:942
#, fuzzy
msgid "Migration pre-check error"
msgstr "Chyba přesunu"
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Poškozené tělo zprávy: %(reason)s"
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Nelze najít nastavení v %(path)s"
-#: nova/exception.py:945
+#: nova/exception.py:956
#, 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:949
+#: nova/exception.py:960
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "Při změně velikosti ji musí instance změnit také!"
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
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:961
+#: nova/exception.py:976
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:965
+#: nova/exception.py:980
#, 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:969
+#: nova/exception.py:984
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:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "Nebyl nalezen žádný platný hostitel. %(reason)s"
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "Kvóta pÅ™ekroÄena"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:993
+#: nova/exception.py:1008
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr "PÅ™ekroÄen limit osobnostního souboru"
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr "Cesta osobnostního souboru je příliš dlouhá"
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr "Obsah osobnostního souboru je příliš dlouhý"
-#: nova/exception.py:1013
+#: nova/exception.py:1028 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:1017
+#: nova/exception.py:1032
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, 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:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "Agregát %(aggregate_id)s nemohl být nalezen."
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "Agregát %(aggregate_name)s již existuje."
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, 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:1038
+#: nova/exception.py:1053
#, 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:1043
+#: nova/exception.py:1058
#, 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:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr "Nelze vytvořit typ instance"
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, 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:1057
+#: nova/exception.py:1072
#, fuzzy, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "Zjišťěna existující vlan s id %(vlan)"
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "Instance %(instance_id)s nemohla být nastavena."
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Svazek %(volume_id)s nemohl být nastaven."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Obraz %(image_id)s nemohl být nalezen."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Získávání obrazu %(image)s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Získávání obrazu %(image)s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, 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:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_id)s nenalezena"
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Navrácení sítě pro instnac"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Navrácení sítě pro instnac"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, 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:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, 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:1162
+#: nova/exception.py:1177
#, 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:1166
+#: nova/exception.py:1181
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password není tímto ovladaÄem zavedeno"
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "OÄekáván objekt typu: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1376,7 +1420,7 @@ msgstr "Oznamování schopností plánovaÄům ..."
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Nelze získat metadata pro ip: %s"
@@ -1414,148 +1458,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "ZaÄínající uzel %(topic)s (verze %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr "Vytváření připojení zákazníka pro službu %s"
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "UkonÄena služba bez záznamu v databázi"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "ladění ve zpětném volání: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Adresa místního spojení nenalezena.: %s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Neplatná podpůrná vrstva: %s"
-#: nova/utils.py:438
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Neznámý základní soubor: %s"
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "OÄekáván objekt typu: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr "Neplatný server_string: %s"
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' trvalo %(total_time).2f sek"
-#: nova/utils.py:799
+#: nova/utils.py:750 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:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Nelze odstranit kontejner: %s"
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Název serveru není řetězec nebo unicode"
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, 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:1101
+#: nova/utils.py:1041
#, 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"
@@ -1569,7 +1608,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 ""
@@ -1588,11 +1627,11 @@ msgstr "%(code)s: %(message)s"
msgid "FaultWrapper: %s"
msgstr "ObalovaÄchyb: %s"
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Příliš mnoho ověření selhalo."
-#: nova/api/ec2/__init__.py:183
+#: nova/api/ec2/__init__.py:184
#, python-format
msgid ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
@@ -1601,114 +1640,114 @@ msgstr ""
"Přístupový klÃ­Ä %(access_key)s %(failures)d krát selhal pÅ™i ověření a "
"bude zablokován na %(lock_mins)d minut."
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr "Podpis není zadán"
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr "Přístupový klÃ­Ä není zadán"
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr "Chyba při komunikaci s keystone"
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Přesun před spuštěním selhal na %(dest)s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Příliš mnoho ověření selhalo."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "Äinnost: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s\t\thod: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "NeoprávnÄ›ní požadavek pro ovladaÄ=%(controller)s a Äinnost=%(action)s"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "Vyvoláno InstanceNenalezena: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "Vyvoláno SvazekNenalezen: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr "Vyvoláno SnímekNenalzen: %s"
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "Vyvoláno Nenalezeno: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr "Vyvoláno DvojiceKlíÄůExistuje: %s"
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, fuzzy, python-format
msgid "InvalidKeypair raised: %s"
msgstr "Vyvoláno NeplatnáOperace: %s"
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr "Vyvoláno NeplatnáHodnotaParametru: %s"
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr "Vyvoláno NeplatnýROzsahPortů: %s"
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr "Vyvoláno NeníOprávněno: %s"
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr "Vyvoláno NeplatnáOperace: %s"
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "Vyvolána neznámá chyba: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "Vyvolána neznámá chyba: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr "Prostředí: %s"
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "Vyskytla se neznámá chyba. Prosím zopakujte Váš požadavek."
@@ -1720,274 +1759,274 @@ msgstr ""
"Nepodporovaný požadavek API: ovladaÄ = %(controller)s, Äinnost = "
"%(action)s"
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Vytvořit snímek svazku %s"
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "VytvoÅ™it dvojici klíÄů %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "Imprtovat klÃ­Ä %s"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Smazat dvojici klíÄů %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, 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:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Neplatný protokol IP %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "Pro zadané parametry není žádné pravidlo."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Toto pravidlo již existuje ve skupině %s"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Vytvořit svazek ze snímku %s"
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
#, fuzzy
msgid "Delete Failed"
msgstr "Vytvoření selhalo"
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
#, fuzzy
msgid "Attach Failed."
msgstr "Vytvoření selhalo"
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Odpojit svazek %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Odpojit svazek %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "vlastnost není podporována: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr "svz = %s\n"
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Přidělit adresu"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
#, fuzzy
msgid "No more floating IPs available"
msgstr "Žádné další plovoucí ip nejsou dostupné."
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Uvolnit adresu %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
#, fuzzy
msgid "Unable to release IP Address."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
#, fuzzy
msgid "Floating ip is already associated."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "Je dostupných nula plovoucích ip."
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Oddělit adresu %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
#, fuzzy
msgid "Floating ip is not associated."
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr "Obraz musí být dostupný"
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Restratovat instanci %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr "Instance budou zastaveny"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr "Instance budou spuštěny"
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "Zrušení registrace obrazu %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "uživatel nebo skupina nebyly zadány"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "podporována je pouze skupina \"all\""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type musí být add nebo remove"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Aktualizace publicity obrazu %s"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "Nelze zastavit instanci za %d sek"
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Získávání seznamu instancí"
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instance - %s není přítomno"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Získávání seznamu instancí"
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "Neplatná data jednotky"
@@ -2039,43 +2078,73 @@ msgstr "Neplatný požadavek: %s"
msgid "Failed to get metadata for instance id: %s"
msgstr "Nelze získat metadata pro ip: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Zachycena chyba: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s vrácena s HTTP %(status)d"
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr "Musí být urÄena třída ExtensionManager"
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr "Rozšířený zdroj: %s"
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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 "Rozšíření %(ext_name)s: nelze rozšířit %(collection)s: Žádný takový zdroj"
-#: nova/api/openstack/__init__.py:209 nova/api/openstack/__init__.py:341
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "Rozšíření %(ext_name)s: rozšiřování zdroje %(collection)s"
-#: nova/api/openstack/__init__.py:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "Volání továrny rozšíření %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "NaÄítání rozšíření %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "NaÄítání rozšíření %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2104,7 +2173,7 @@ msgid "offset param must be positive"
msgstr "parametr offset musí být kladný"
#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
-#: nova/api/openstack/compute/plugins/v3/servers.py:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr "znaÄka [%s] nenalezena"
@@ -2285,7 +2354,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2393,302 +2462,302 @@ msgid "Metadata item was not found"
msgstr "Položka metadat nenalezena"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Neplatná hodnota changes-since"
#: nova/api/openstack/compute/servers.py:540
-#: nova/api/openstack/compute/plugins/v3/servers.py:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Pokus o jemné smazání %s"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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 "Instance nemohla být nalezena"
-#: nova/api/openstack/compute/servers.py:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: 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"
@@ -2768,7 +2837,7 @@ msgstr "Vlastnost createBackup 'rotation' musí být celé Äíslo"
#: 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "Instance nenalezena"
@@ -2864,30 +2933,35 @@ msgstr "Spouštění rozhraní VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Pravidlo (%s) nenalezeno"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
#, 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:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2986,13 +3060,13 @@ msgstr "host a block_migration musí být zadány."
msgid "Error in evacuate, %s"
msgstr "Chyba v přesunu %s"
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3044,7 +3118,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr "Chybí parametr dict"
@@ -3097,7 +3171,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3126,34 +3200,34 @@ msgstr "Neplatný stav: '%s'"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: nova/api/openstack/compute/contrib/hosts.py:206
#, fuzzy, python-format
msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
msgstr "Nastavování hostitele %(host)s na %(state)s."
-#: nova/api/openstack/compute/contrib/hosts.py:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Volání pro získání %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Aktualizace statistik hostitele"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr "Describe-resource je funkce pouze pro správce"
@@ -3178,12 +3252,6 @@ msgstr "Nalezeno nula souborů."
msgid "Invalid timestamp for date %s"
msgstr "Neplatná metadata"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr "Dvojice klíÄů '%s' již existuje."
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr "Chybí argument 'networkId' pro addFixedIp"
@@ -3300,26 +3368,43 @@ msgstr "PÅ™idávání pravidla bezpeÄnostní skupiny: %r"
msgid "Create networks failed"
msgstr "Vytvoření selhalo"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
-#, fuzzy, python-format
-msgid "Quota for %s should be integer."
-msgstr "verze by mÄ›la být celé Äíslo"
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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 "Poškozená vlasnost scheduler_hints"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Není dostatek parametrů k sestavení platného pravidla."
@@ -3338,40 +3423,47 @@ 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:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, 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:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr "Není zadána bezpeÄnostní skupina"
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr "Název bezpeÄnostní skupiny nemůže být prázdné"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "zaÄátek instance %r"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "zastavit instanci %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "Neznámý řetěz: %r"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "neznámá chyby připojení hosta"
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3436,26 +3528,26 @@ msgstr "Uvolnit adresu %s"
msgid "Unreserving IP address %s"
msgstr "Uvolnit adresu %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3499,99 +3591,104 @@ msgstr "Odstraňování základního souboru: %s"
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, 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:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3603,31 +3700,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "Neplatná instance typu %(instance_type)s."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr "Šablona pro zaváděcí skript instance cloudpipe"
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "Síť kterou odeslat do nastavení openvpn"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "Síťovou masku kterou odeslat do nastavení openvpn"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Spouštění VPN pro %s"
@@ -3637,35 +3733,35 @@ msgstr "Spouštění VPN pro %s"
msgid "Failed to load %s"
msgstr "Nelze vytvořit svazek"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "prvek není podřazený"
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3688,349 +3784,359 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "obdrženo: %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "Reset sítě"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "poÄáteÄní adresa"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: 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:325
+#: 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:384
+#: 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:433
+#: 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:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: 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:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Síť nenalezena"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: 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:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "zastavit instanci %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "NeoÄekávaná chyba: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "projekt"
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: 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:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance - %s není přítomno"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "neznámá chyby připojení hosta"
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Tabulka |%s| není vytvořena!"
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s je platný název instance"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Chyba DB: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "typ je = %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, 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:301
+#: nova/compute/api.py:300
#, 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:310
+#: nova/compute/api.py:309
#, 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:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4039,99 +4145,99 @@ msgstr ""
"PÅ™ekroÄena kvóta pro %(pid)s, pokus o nastavení %(num_metadata)s "
"vlastností metadat"
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
#, 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:348
+#: nova/compute/api.py:347
#, 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:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Nelze připojit svazek k instanci %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "Chystá se spuštění %s instancí..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, 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:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Pokus o jemné smazání %s"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Pokus o ukonÄení %s"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Pokus o zastavení %s"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Pokus o spuštění %s"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr "Hledání podle: %s"
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Spouštění snímku ve VM %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id je None. Předpokládán přesun."
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4140,62 +4246,63 @@ msgstr ""
"Stará instance typu %(current_instance_type_name)s, nová instance typu "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, 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:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Pokus o ukonÄení %s"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, 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:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr "BezpeÄnostní skupina %s nemůže být prázdná."
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, fuzzy, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4204,70 +4311,70 @@ msgstr ""
"Hodnota (%s) parametru GroupName je neplatná. Délka pÅ™ekraÄuje maximum "
"255 znaků."
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, 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:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "VytvoÅ™it bezpeÄnostní skupinu %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr "BezpeÄnostní skupina %s již existuje"
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Nelze zniÄit vbd %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Nelze zniÄit vbd %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Id bezpeÄnostní skupiny by mÄ›lo být celé Äíslo"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr "Pravidlo (%s) nenalezeno"
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "PÅ™idávání pravidla bezpeÄnostní skupiny: %r"
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Povolit přístup bezpeÄnostní skupiny %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "ZruÅ¡it přístup bezpeÄnostní skupiny %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr "Id bezpeÄnostní skupiny by mÄ›lo být celé Äíslo"
@@ -4326,65 +4433,53 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: 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"
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
#, fuzzy
msgid "'rxtx_factor' argument must be a positive float"
msgstr "argumenty create musí být kladná celá Äísla"
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr "Chyba DB: %s"
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr "Instance typu %s není nalezena ke smazání"
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4393,229 +4488,241 @@ msgstr ""
"Nelze pÅ™esunout instanci (%(instance_id)s) na souÄasného hostitele "
"(%(host)s)."
-#: nova/compute/manager.py:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Nelze restartovat instanci"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, 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:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr "Restartování instance po restartu nova-compute."
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "OvladaÄ hypervizoru nepodporuje pravidla firewallu"
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Nelze pozastavit instanci"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr "OvladaÄ hypervizoru nepodporuje pravidla firewallu"
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "NeoÄekávaný kód stavu"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr "Kontrola stavu"
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr "Nastavování bdm %s"
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Instance nemohla být spuštěna"
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Chyba DB: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr "Spouštění instance..."
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "Nenalezeny žádné plovoucí ip"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr "Instance selhala v nastavení sítě"
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Informace o síti instance: |%s|"
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr "Instance selhala nastavení blokového zařízení"
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr "Instance nemohla být spuštěna"
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr "%(action_str)s nstance"
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr "%(action_str)s nstance"
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "Ignorování DiskNenalezen: %s"
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "Ignorování DiskNenalezen: %s"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr "ukonÄování bdm %s"
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. Nastavování stavu vm instance na ERROR"
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Znovu sestavování instance %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, 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:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Vytvořit snímek ze svazku %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Restartování instance %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, fuzzy, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4624,22 +4731,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:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Nelze znovu sestavit instanci [%(instance_uuid)s]: %(exc)s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: znovu zavedena"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: pořizování snímku"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, fuzzy, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4648,233 +4759,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:1885
+#: nova/compute/manager.py:1973
#, 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:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr "Střídání %d záloh"
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "Mazání obrazu %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, 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:1932
+#: nova/compute/manager.py:2021
#, fuzzy
msgid "Root password set"
msgstr "Instance %s: Nastavení hesla root"
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
#, 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:1954
+#: nova/compute/manager.py:2043
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password není tímto ovladaÄem zavedeno"
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
#, fuzzy
msgid "error setting admin password"
msgstr "Chyba při nastavování hesla správce"
-#: nova/compute/manager.py:1974
-#, fuzzy, python-format
+#: nova/compute/manager.py:2063
+#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_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)"
-#: nova/compute/manager.py:1978
-#, fuzzy, python-format
-msgid "injecting file to %(path)s"
-msgstr "Vkládání cesty souboru: '%s'"
+#: nova/compute/manager.py:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Nelze pozastavit instanci"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Chyba DB: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: rušení záchrany"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Nastavování instance %(instance_uuid)s do stavu ERROR"
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "Instance nemá svazek."
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr "cíl stejný jako zdroj!"
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
#, fuzzy
msgid "Pausing"
msgstr "Aktualizování!"
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: získávání diagnostik"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "Reset sítě"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "instance %s: vkládání informací o síti"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr "network_info vkládá: |%s|"
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "instance %s: získávání konzole vnc"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "instance %s: získávání konzole vnc"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, 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:2964
+#: nova/compute/manager.py:3055
#, 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:2973
+#: nova/compute/manager.py:3065
#, 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:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, 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:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Odpojování svazku z neznámé instance %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, 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:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "Síť %(network_id)s nemohla být nalezena."
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Hostitel %(host)s nemohl být nalezen."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
-msgstr "Přesun před spuštěním selhal na %(dest)s"
+msgid "Pre live migration failed at %s"
+msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "zahájen přesun po spuštění."
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
-msgstr "PÅ™esun instance do %(dest)s úspěšnÄ› dokonÄen."
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4882,21 +4991,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:3381
+#: nova/compute/manager.py:3477
#, fuzzy
msgid "Post operation of migration started"
msgstr "Spuštěna operace po migraci"
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Nelze získat metadata pro ip: %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -4905,64 +5014,64 @@ msgstr ""
"Nalezeno %(migration_count)d nepotvrzených přesunů starších než "
"%(confirm_window)d vteřin"
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, 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:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "Instance %(instance_id)s nenalezena"
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
#, fuzzy
msgid "In ERROR state"
msgstr "Uzel je v neznámém chybovém stavu."
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr "Aktualizace mezipaměti využití šířky pásma"
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Aktualizace mezipaměti využití šířky pásma"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr "Aktualizace stavu hostitele"
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -4971,92 +5080,86 @@ msgstr ""
"Nalezeno %(num_db_instances)s v databázi a %(num_vm_instances)s na "
"hypervizoru."
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instance není zapnuta"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, překskování..."
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr "Znovu získávání smazané instance"
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Zaznamování ovladaÄe svazku: %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 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:4078
-#, fuzzy, python-format
+#: nova/compute/manager.py:4175
+#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%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."
-#: nova/compute/manager.py:4085
-#, fuzzy, python-format
+#: nova/compute/manager.py:4181
+#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%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."
-#: nova/compute/manager.py:4092
-#, fuzzy, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+#: nova/compute/manager.py:4188
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-"Nerozpoznaná hodnota '%(action)s' pro "
-"FLAGS.running_deleted_instance_action"
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Nastavování instance %(instance_uuid)s do stavu ERROR"
@@ -5158,11 +5261,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "Nezadán žádný poÄítaÄový hostitel"
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Nelze najít hostitele pro instanci %s"
@@ -5172,18 +5275,18 @@ msgstr "Nelze najít hostitele pro instanci %s"
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
@@ -5269,11 +5372,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Nelze restartovat instanci"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Nelze restartovat instanci"
@@ -5292,24 +5395,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Nerozpoznaná hodnota read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "instance %s: zachráněna"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "instance %s: zachráněna"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "instance %s: zachráněna"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "instance %s: zachráněna"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5326,57 +5449,57 @@ msgstr "verze by mÄ›la být celé Äíslo"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Nepodporovaný Content-Type"
@@ -5402,47 +5525,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: 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:372
+#: 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:396
+#: 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 "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/image/s3.py:403
+#: 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:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "NebezpeÄné názvy souboru v obrazu"
@@ -5571,23 +5699,23 @@ msgstr "Doména |%(domain)s| již existuje, změna zóny na |%(av_zone)s|."
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr "Doména |%(domain)s| již existuje, změna projektu na |%(project)s|."
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr "Tento ovladaÄ podporuje pouze záznamy typu 'a'."
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5614,111 +5742,111 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr "IPTablesManager.použití úspěšnÄ› dokonÄeno"
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, fuzzy, python-format
msgid "arping error for ip %s"
msgstr "chyba v httplib v %s: "
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d je starý, znovu spouštění dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Hupping dnsmasq vrhl výjimku %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d je starý, znovu spouštění dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "ukonÄení radvd vrhlo %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d je starý, znovu spouštění radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Neplatný stav: '%s'"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Spouštění rozhraní VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Zajišťování mostu %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, 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:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Nelze pozastavit instanci"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Zajišťování mostu %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Zajišťování mostu %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr "%s odlouÄených zastaralých ip"
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "nastavování hostitele sítě"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
#, fuzzy
msgid "network allocations"
msgstr "přidělování sítě pro instanci %s"
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, fuzzy, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr "sítě získané pro instanci |%(instance_id)s|: |%(networks)s|"
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
#, fuzzy
msgid "network deallocation for instance"
msgstr "oddělení sítě pro instanci |%s|"
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, fuzzy, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5729,79 +5857,79 @@ msgstr ""
" Instance |%(instance)s| je v zóně |%(zone2)s|. Nebude vytvořen žádný "
"záznam DNS."
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, fuzzy, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr "Pro %s pÅ™ekroÄena kvóta, pokus o pÅ™idÄ›lení adresy"
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
#, fuzzy
msgid "Failed to update usages deallocating fixed IP"
msgstr "Nelze aktualizovat svazek v db"
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr "VypůjÄená IP |%(address)s|"
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr "VypůjÄená IP %s není pÅ™idÄ›lena"
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr "VypůjÄena IP |%s|, která není pÅ™idÄ›lena"
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr "Uvolněna IP |%(address)s|"
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr "Uvolněna IP %s, která není přidělena"
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "UvolnÄ›na IP %s, která nebyla vypůjÄena"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, fuzzy, python-format
msgid "%s must be an integer"
msgstr "parametr offset musí být celé Äíslo"
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr "cidr je již používáno"
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
"požadovaný cidr (%(cidr)s) je v konfliktu s existující supersítí "
"(%(super)s)"
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
@@ -5810,22 +5938,22 @@ msgstr ""
"požadovaný cidr (%(cidr)s) je v konfliktu s existujícím menším cidr "
"(%(smaller)s)"
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr "Síť již existuje!"
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
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:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5863,80 +5991,80 @@ msgstr "_smazat: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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."
@@ -5958,7 +6086,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Zachycena chyba: %s"
@@ -5973,48 +6101,48 @@ msgstr "Smazat bezpeÄnostní skupinu %s"
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:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Zachycena chyba: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6028,22 +6156,22 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Toto pravidlo již existuje ve skupině %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "Chyba při nastavování hesla správce"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
#, fuzzy
msgid "Invalid version string"
msgstr "Neplatný server_string: %s"
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6249,21 +6377,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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."
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, fuzzy, python-format
msgid "SQL connection failed. %s attempts left."
msgstr "Připojení SQL selhalo (%(connstring)s). Zbývá %(attempts)d pokusů."
@@ -6456,7 +6594,7 @@ msgid "Returning exception %s to caller"
msgstr "Volajícímu je vrácena výjimka: %s"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6489,44 +6627,44 @@ msgstr ""
" pokus za %(sleep_time)d vteřin."
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: nova/openstack/common/rpc/impl_qpid.py:457
#, python-format
msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
msgstr "Nelze deklarovat spotřebitele pro téma '%(topic)s': %(err_str)s"
#: nova/openstack/common/rpc/impl_kombu.py:627
-#: nova/openstack/common/rpc/impl_qpid.py:419
+#: nova/openstack/common/rpc/impl_qpid.py:472
#, python-format
msgid "Timed out waiting for RPC response: %s"
msgstr "PÅ™i Äekání na odpovÄ›Ä RPC vyprÅ¡el Äas: %s"
#: nova/openstack/common/rpc/impl_kombu.py:631
-#: nova/openstack/common/rpc/impl_qpid.py:423
+#: nova/openstack/common/rpc/impl_qpid.py:476
#, python-format
msgid "Failed to consume message from queue: %s"
msgstr "Nelze spotřebovat zprávu z fronty: %s"
#: nova/openstack/common/rpc/impl_kombu.py:670
-#: nova/openstack/common/rpc/impl_qpid.py:458
+#: nova/openstack/common/rpc/impl_qpid.py:511
#, python-format
msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
msgstr "Nelze vydat zprávu do tématu '%(topic)s': %(err_str)s"
-#: nova/openstack/common/rpc/impl_qpid.py:352
+#: nova/openstack/common/rpc/impl_qpid.py:399
#, fuzzy, python-format
msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
msgstr "Nelze se připojit k serveru AMQP: %s "
-#: nova/openstack/common/rpc/impl_qpid.py:358
+#: nova/openstack/common/rpc/impl_qpid.py:405
#, python-format
msgid "Connected to AMQP server on %s"
msgstr "Připojeno k serveru AMQP na %s"
-#: nova/openstack/common/rpc/impl_qpid.py:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr "Znovu obnoveny fronty AMQP"
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6759,7 +6897,7 @@ msgstr "Nelze najít další výpoÄet"
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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"
@@ -6881,7 +7019,7 @@ msgstr "Žádná služba pro ID výpoÄtu %s"
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr "Nelze naplánovat_%(method)s: %(ex)s"
@@ -6902,10 +7040,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6913,6 +7058,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -7104,12 +7254,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7154,15 +7304,6 @@ msgstr ""
msgid "already detached"
msgstr "již odpojeno"
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-"Následujícím přesunům chybí snížení na nižší verzi:\n"
-"\t%s"
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7175,7 +7316,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7183,58 +7324,67 @@ 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Spouštění instancí: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "Po ukonÄení instancí: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "Vnitřní chyba"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr "Po vynuceném ukonÄení instancí: %s"
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
#, fuzzy
msgid "spawn error"
msgstr "neznámá chyby připojení hosta"
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+"Následujícím přesunům chybí snížení na nižší verzi:\n"
+"\t%s"
+
+#: nova/tests/integrated/test_api_samples.py:183
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "Adresa |%(address)s| není přidělena"
-#: nova/tests/integrated/test_api_samples.py:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7244,22 +7394,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: nova/tests/integrated/test_api_samples.py:208
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "Adresa |%(address)s| není přidělena"
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7329,28 +7479,36 @@ msgstr "Dekódování JSON: %s"
msgid "fake vswitch not found"
msgstr "znaÄka [%s] nenalezena"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr "Prosím rozšiřte nepravý modul libvirt aby podporoval příznaky"
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, 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:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Odstraňování souborů simulovaného agenta hosta v %s"
@@ -7360,25 +7518,25 @@ msgstr "Odstraňování souborů simulovaného agenta hosta v %s"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "Zaznamování ovladaÄe svazku: %s"
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Nelze naÄíst ovladaÄ virtualizace: %s"
@@ -7388,43 +7546,43 @@ msgstr "Nelze naÄíst ovladaÄ virtualizace: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr "Pokus o odfiltrování instance, která není filtrována"
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Filtry přidány do instance %s"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr "Pravidla firewallu poskytovatele obnovena"
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr "PÅ™idávání pravidla bezpeÄnostní skupiny: %r"
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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"
@@ -7536,22 +7694,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7571,7 +7729,7 @@ msgstr "Získat výstup konzole pro instanci %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7581,28 +7739,28 @@ msgstr ""
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:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, 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:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr "Uzel je v neznámém chybovém stavu."
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Nelze najít hostitele pro instanci %s"
@@ -7690,15 +7848,15 @@ 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 ""
@@ -8186,17 +8344,17 @@ msgstr "Verze agenta instance: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Aktualizace statistik hostitele"
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Uvolnit adresu %s"
@@ -8552,12 +8710,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, 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:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Vkládání cesty souboru: '%s'"
@@ -8723,7 +8881,7 @@ msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
@@ -8742,262 +8900,268 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, fuzzy, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr "Neůze najít vbd pro vdi %s"
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "skupina svazku %s neexistuje"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Připojení k libvirt poškozeno"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, 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:743
+#: nova/virt/libvirt/driver.py:796
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr "Instance úspěšnÄ› zniÄena."
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Instance budou zastaveny"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, 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:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, 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:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "Mazání souborů instance %(target)s"
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, 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:909
+#: nova/virt/libvirt/driver.py:962
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Nelze restartovat instanci"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr "Instance je spuštěna"
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr "Vytváření obrazu"
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9005,12 +9169,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -9019,27 +9190,33 @@ msgstr ""
"Chyba od libvirt při hledání %(instance_name)s: [Kód chyby "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -9048,35 +9225,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:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr "verze libvirt je příliš stará (nepodporuje getVersion)"
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9084,21 +9251,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9107,16 +9274,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:3001
+#: nova/virt/libvirt/driver.py:3077
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:3009
+#: nova/virt/libvirt/driver.py:3085
#, 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:3046
+#: nova/virt/libvirt/driver.py:3130
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9125,7 +9292,7 @@ msgstr ""
"Nelze přesunout %(instance_id)s do %(dest)s: Nedostatek disku "
"(hostitel:%(available)s <= instance:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9134,7 +9301,7 @@ msgstr ""
"Spuštěná instance má info o CPU:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9149,7 +9316,7 @@ msgstr ""
"\n"
"Prohlédněte si %(u)s"
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9158,24 +9325,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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, 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:3313
+#: nova/virt/libvirt/driver.py:3408
#, 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:3425
+#: nova/virt/libvirt/driver.py:3520
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9184,42 +9351,42 @@ msgstr ""
"Chyba od libvirt při hledání %(instance_name)s: [Kód chyby "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr "přeskakování %(path)s protože vypadá jako svazek"
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "Instance %s: Spouštění přesunu disku a vypnutí"
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
#, fuzzy
msgid "Instance running successfully."
msgstr "Instance %s úspěšně běží."
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
#, fuzzy
msgid "Starting finish_migration"
msgstr "Instance %s: SpouÅ¡tÄ›ní dokonÄení pÅ™esunu"
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "Instance %s: SpuÅ¡tÄ›ní dokoÄení vrácení pÅ™esunu"
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "Mazání souborů instance %(target)s"
@@ -9232,33 +9399,33 @@ msgstr ""
"Modul libvirt nemohl být nalezen. NWFilterFirewall nebude správně "
"fungovat."
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr "Voláno základní nastavení filtrování v nwfilter"
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr "Zajišťování statických filtrů"
-#: nova/virt/libvirt/firewall.py:247
+#: 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."
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, 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:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Nastavení základního filtrování"
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "neznámá obslužná rutina obrazu disku: %s"
@@ -9412,22 +9579,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. "
@@ -9435,17 +9602,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9483,14 +9650,14 @@ msgstr "Zajišťování mostu %s"
msgid "Failed while unplugging vif"
msgstr "Nelze při odpojení vif instance '%s'"
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9498,7 +9665,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9506,7 +9673,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9514,7 +9681,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9522,12 +9689,12 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr "iSCSI zařízení v %s nenalezeno"
-#: nova/virt/libvirt/volume.py:241
+#: nova/virt/libvirt/volume.py:243
#, fuzzy, python-format
msgid ""
"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
@@ -9536,48 +9703,48 @@ msgstr ""
"ISCSI svazek zatím v %(mount_device)s nenalezen:. Bude znovu provedeno "
"hledání a další pokus. Číslo pokusu: %(tries)s"
-#: nova/virt/libvirt/volume.py:254
+#: nova/virt/libvirt/volume.py:256
#, fuzzy, python-format
msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
msgstr "Nalezen uzel iSCSI %(mount_device)s (po %(tries)s pokusech)"
-#: nova/virt/libvirt/volume.py:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "obraz již je připojen"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "iSCSI zařízení v %s nenalezeno"
-#: nova/virt/libvirt/volume.py:562
+#: nova/virt/libvirt/volume.py:564
#, fuzzy, python-format
msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
msgstr ""
"ISCSI svazek zatím v %(mount_device)s nenalezen:. Bude znovu provedeno "
"hledání a další pokus. Číslo pokusu: %(tries)s"
-#: nova/virt/libvirt/volume.py:577
+#: nova/virt/libvirt/volume.py:579
#, fuzzy, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr "Nalezen uzel iSCSI %(mount_device)s (po %(tries)s pokusech)"
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
#, fuzzy
msgid "Fibre Channel device not found."
msgstr "iSCSI zařízení v %s nenalezeno"
-#: nova/virt/libvirt/volume.py:726
+#: nova/virt/libvirt/volume.py:728
#, fuzzy, python-format
msgid ""
"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
@@ -9586,30 +9753,30 @@ msgstr ""
"ISCSI svazek zatím v %(mount_device)s nenalezen:. Bude znovu provedeno "
"hledání a další pokus. Číslo pokusu: %(tries)s"
-#: nova/virt/libvirt/volume.py:743
+#: nova/virt/libvirt/volume.py:745
#, fuzzy, python-format
msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
msgstr "Nalezen uzel iSCSI %(mount_device)s (po %(tries)s pokusech)"
-#: nova/virt/libvirt/volume.py:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9717,26 +9884,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Připojení k melange selhalo"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9886,32 +10053,32 @@ msgstr ""
"Pro useconnection_type=vmwareapi musíte zadat "
"vmwareapi_host_ip,vmwareapi_host_username a vmwareapi_host_password"
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "znaÄka [%s] nenalezena"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, 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:540
+#: nova/virt/vmwareapi/driver.py:534
#, 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:576
+#: nova/virt/vmwareapi/driver.py:570
#, 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:581
+#: nova/virt/vmwareapi/driver.py:575
#, 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:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "In vmwareapi:_poll_task, Obdržena tato chyba %s"
@@ -9921,39 +10088,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:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, 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:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr "Není registrováno žádné VM"
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "Virtuální stroj s ref %s neexistuje"
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, 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:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr "Sezení je chybné"
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr "Sezení je neplatné"
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " Žádné virtuální stroje nebyly zatím registrovány"
@@ -9963,22 +10130,22 @@ msgstr " Žádné virtuální stroje nebyly zatím registrovány"
msgid "%(action)s %(host)s"
msgstr "Äinnost: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: nova/virt/vmwareapi/host.py:64
#, fuzzy, python-format
msgid "Set maintenance mod on %(host)s to %(mode)s"
msgstr "Nastavování hostitele %(host)s na %(state)s."
-#: nova/virt/vmwareapi/io_util.py:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr "Obraz Glance %s je ve stavu ukonÄení"
-#: nova/virt/vmwareapi/io_util.py:120
+#: nova/virt/vmwareapi/io_util.py:126
#, python-format
msgid "Glance image %(image_id)s is in unknown state - %(state)s"
msgstr "Obraz Glance %(image_id)s je v nezámém stavu - %(state)s"
-#: nova/virt/vmwareapi/network_util.py:138
+#: nova/virt/vmwareapi/network_util.py:135
msgid ""
"ESX SOAP server returned an empty port group for the host system in its "
"response"
@@ -9986,17 +10153,17 @@ msgstr ""
"Server ESX SOAP vrátil ve své odpovědi prázdnou skupinu portů pro "
"hostitelský systém"
-#: nova/virt/vmwareapi/network_util.py:164
+#: nova/virt/vmwareapi/network_util.py:161
#, python-format
msgid "Creating Port Group with name %s on the ESX host"
msgstr "Vytváření skupiny portů s názvem %s na hostiteli ESX"
-#: nova/virt/vmwareapi/network_util.py:178
+#: nova/virt/vmwareapi/network_util.py:175
#, python-format
msgid "Created Port Group with name %s on the ESX host"
msgstr "Vytvořena skupina portů s názvem %s na hostiteli ESX"
-#: nova/virt/vmwareapi/read_write_util.py:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, fuzzy, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr "Během uzavření HTTP připojení v VMWareHTTpWrite došlo k výjimce %s"
@@ -10039,17 +10206,17 @@ msgstr "Získávání seznamu instancí"
msgid "Got total of %s instances"
msgstr "Získáno celkem %s instancí"
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
#, fuzzy
msgid "Creating VM on the ESX host"
msgstr "Vytváření VM s názvem %s na hostiteli ESX"
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
#, fuzzy
msgid "Created VM on the ESX host"
msgstr "Vytvářeno VM s názvem %s na hostiteli ESX"
-#: nova/virt/vmwareapi/vmops.py:230
+#: nova/virt/vmwareapi/vmops.py:231
#, fuzzy, python-format
msgid ""
"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
@@ -10059,7 +10226,7 @@ msgstr ""
"typem adaptéru %(adapter_type)s na místním úložišti hostitele ESX "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:249
+#: nova/virt/vmwareapi/vmops.py:250
#, fuzzy, python-format
msgid ""
"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -10069,7 +10236,7 @@ msgstr ""
"typem adaptéru %(adapter_type)s na místním úložišti hostitele ESX "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:258
+#: nova/virt/vmwareapi/vmops.py:259
#, fuzzy, python-format
msgid ""
"Deleting the file %(vmdk_path)s on the ESX host localstore "
@@ -10078,7 +10245,7 @@ msgstr ""
"Mazání souboru %(flat_uploaded_vmdk_path)s na místním úložišti hostitele "
"ESX %(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:272
+#: nova/virt/vmwareapi/vmops.py:273
#, fuzzy, python-format
msgid ""
"Deleted the file %(vmdk_path)s on the ESX host local store "
@@ -10087,7 +10254,7 @@ msgstr ""
"Soubor %(flat_uploaded_vmdk_path)s smazán na místním úložišti hostitele "
"ESX %(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:280
+#: nova/virt/vmwareapi/vmops.py:281
#, python-format
msgid ""
"Downloading image file data %(image_ref)s to the ESX data store "
@@ -10096,7 +10263,7 @@ msgstr ""
"Stahování dat souboru obrazu %(image_ref)s na datové úložiště hostitele "
"ESX %(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:300
+#: nova/virt/vmwareapi/vmops.py:301
#, fuzzy, python-format
msgid ""
"Downloaded image file data %(image_ref)s to %(upload_vmdk_name)s on the "
@@ -10105,7 +10272,7 @@ msgstr ""
"Data souboru obrazu %(image_ref)s stažena na datové úložiště hostitele "
"ESX %(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:314
+#: nova/virt/vmwareapi/vmops.py:315
#, fuzzy, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -10116,7 +10283,7 @@ msgstr ""
"typem adaptéru %(adapter_type)s na místním úložišti hostitele ESX "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:335
+#: nova/virt/vmwareapi/vmops.py:336
#, fuzzy, python-format
msgid ""
"Copied Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -10126,139 +10293,133 @@ msgstr ""
"typem adaptéru %(adapter_type)s na místním úložišti hostitele ESX "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Zapínání instance VM %s"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
#, fuzzy
msgid "Powered on the VM instance"
msgstr "Instance VM %s zapnuta"
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "Vytváření snímku instance VM %s "
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
#, fuzzy
msgid "Created Snapshot of the VM instance"
msgstr "Snímek instance VM %s vytvořen "
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
#, fuzzy
msgid "Copying disk data before snapshot of the VM"
msgstr "Kopírování data disku před snímek instance VM %s"
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
#, fuzzy
msgid "Copied disk data before snapshot of the VM"
msgstr "Data disku zkopírována před snímek instance VM %s"
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr "Nahrávání obrazu %s"
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr "Obraz %s nahrán"
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr "Mazání doÄasného souboru vmdk %s"
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr "DoÄasný soubor vmdk %s smazán"
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr "Instance není zapnuta"
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
#, fuzzy
msgid "Rebooting guest OS of VM"
msgstr "Restartování OS hosta na VM %s"
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
#, fuzzy
msgid "Rebooted guest OS of VM"
msgstr "OS hosta restartován na VM %s"
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
#, fuzzy
msgid "Doing hard reboot of VM"
msgstr "Provádění tvrdho restártu VM %s"
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
#, fuzzy
msgid "Did hard reboot of VM"
msgstr "Proveden tvrdý restart VM %s"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "instance - %s není přítomno"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Restartování xvp"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "Registrace VM %s zrušena"
-#: nova/virt/vmwareapi/vmops.py:652
+#: nova/virt/vmwareapi/vmops.py:641
#, fuzzy, python-format
msgid "In vmwareapi:vmops:delete, 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
#, fuzzy
msgid "Powering off the VM"
msgstr "Vypínání VM %s"
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
#, fuzzy
msgid "Powered off the VM"
msgstr "VM %s vypnuto"
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "Rušení registrace VM %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
#, fuzzy
msgid "Unregistered the VM"
msgstr "Registrace VM %s zrušena"
-#: nova/virt/vmwareapi/vmops.py:704
+#: nova/virt/vmwareapi/vmops.py:689
#, python-format
msgid ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
msgstr "Ve vmwareapi:vmops:destroy, obdržena výjimka při rušení registrace VM: %s"
-#: nova/virt/vmwareapi/vmops.py:717
+#: nova/virt/vmwareapi/vmops.py:702
#, fuzzy, python-format
msgid "Deleting contents of the VM from datastore %(datastore_name)s"
msgstr "Mazání obsahu VM %(name)s z datového úložiště %(datastore_name)s"
-#: nova/virt/vmwareapi/vmops.py:729
+#: nova/virt/vmwareapi/vmops.py:714
#, fuzzy, python-format
msgid "Deleted contents of the VM from datastore %(datastore_name)s"
msgstr "Smazán obsah VM %(name)s z datového úložiště %(datastore_name)s"
-#: nova/virt/vmwareapi/vmops.py:734
+#: nova/virt/vmwareapi/vmops.py:719
#, python-format
msgid ""
"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
@@ -10267,201 +10428,206 @@ msgstr ""
"Ve vmwareapi:vmops:destroy, obdržena výjimka při mazání obsahu VM z "
"disku: %s"
-#: nova/virt/vmwareapi/vmops.py:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr "pozastavení není v vmwareapi popdorováno"
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr "zrušení pozastavení není v vmwareapi popdorováno"
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
#, fuzzy
msgid "Suspending the VM"
msgstr "Pozastavení VM %s "
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
#, fuzzy
msgid "Suspended the VM"
msgstr "VM %s pozastaveno "
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
#, fuzzy
msgid "instance is powered off and cannot be suspended."
msgstr "instance je vypnutá, proto nemůže být pozastavena."
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
#, fuzzy
msgid "VM was already in suspended state. So returning without doing anything"
msgstr "VM %s již je v pozastaveném stavu. Návrat, aniž by se něco provedlo"
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
#, fuzzy
msgid "Resuming the VM"
msgstr "Znovu spouštění VM %s"
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
#, fuzzy
msgid "Resumed the VM"
msgstr "VM %s znovu spuštěno "
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr "instance není v pozastaveném stavu"
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
#, fuzzy
msgid "instance is suspended and cannot be powered off."
msgstr "Instance není zapnuta"
-#: nova/virt/vmwareapi/vmops.py:854
+#: nova/virt/vmwareapi/vmops.py:832
#, fuzzy
msgid "VM was already in powered off state. So returning without doing anything"
msgstr "VM %s již je v pozastaveném stavu. Návrat, aniž by se něco provedlo"
-#: nova/virt/vmwareapi/vmops.py:867
+#: nova/virt/vmwareapi/vmops.py:843
#, fuzzy
msgid "VM was already in powered on state. So returning without doing anything"
msgstr "VM %s již je v pozastaveném stavu. Návrat, aniž by se něco provedlo"
-#: nova/virt/vmwareapi/vmops.py:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Vypínání VM %s"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
#, fuzzy
msgid "Powered on the VM"
msgstr "VM %s vypnuto"
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, 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:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Mazání svazku s ID: %s "
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "instance - %s není přítomno"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, 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:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Mazání svazku s ID: %s "
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Vytvořit svazek ze snímku %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "Automatický tvrdý restart %d"
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics není zavedeno pro vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
#, 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:1172
+#: nova/virt/vmwareapi/vmops.py:1140
#, 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:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, 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:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, 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:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr "Vytváření adresáře s cestou %s"
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr "Vytvořen adresář s cestou %s"
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr "Stahování obrazu %s ze serveru obrazu glance"
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr "Obraz %s stažen ze serveru obrazu glance"
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: nova/virt/vmwareapi/vmware_images.py:114
#, python-format
msgid "Uploading image %s to the Glance image server"
msgstr "Nahrávání obrazu %s na server obrazu glance"
-#: nova/virt/vmwareapi/vmware_images.py:139
+#: nova/virt/vmwareapi/vmware_images.py:140
#, python-format
msgid "Uploaded image %s to the Glance image server"
msgstr "Obraz %s nahrán na server obrazu glance"
-#: nova/virt/vmwareapi/vmware_images.py:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr "Získávání velikosto brazu %s"
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr "Získáná velikost %(size)s obrazu %(image)s"
@@ -10524,7 +10690,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
@@ -10534,12 +10700,12 @@ msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)
msgid "Unable to find iSCSI Target"
msgstr "Nelze najít adresu %r"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Bod připojení %(mountpoint)s připojen k instanci %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Odpojení svazku: %(instance_name)s, %(mountpoint)s"
@@ -10549,19 +10715,19 @@ msgstr "Odpojení svazku: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Nelze najít svazek v db"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Bod připojení %(mountpoint)s odpojen od instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
#, fuzzy, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10570,81 +10736,74 @@ msgstr ""
"NEZAVEDENO: Volání %(method)s není agentem podporováno. VM "
"id=%(instance_uuid)s; arg=%(args)r"
-#: nova/virt/xenapi/agent.py:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
-#, fuzzy, python-format
+#: nova/virt/xenapi/agent.py:123
+#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"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"
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
-msgstr "Nelze se dotázat na verzi agenta: %(resp)r"
+msgid "Failed to query agent version: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr "Dotaz na verzi agenta"
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Aktualizace agenta na %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
-msgstr "Nelze aktualizovat agenta: %(resp)r"
+msgid "Failed to update agent: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr "Nastavování správcovského hesla"
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr "Nelze vymÄ›nit klíÄe: %(resp)r"
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr "Nelze aktualizovat heslo: %(resp)r"
+msgid "Failed to exchange keys: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Vkládání cesty souboru: '%s'"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
-msgstr "Nelze vložit soubor: %(resp)r"
+msgid "Failed to inject file: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr "Reset sítě"
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Nelze vložit soubor: %(resp)r"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
@@ -10652,7 +10811,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:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
@@ -10660,15 +10819,15 @@ msgstr ""
"Nástroje XenServer jsou v tomto obrazu přítomny, ale nejsou schopny "
"vložit síť"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr "Nástroje XenServer nejsou v tomto obrazu nainstalovány"
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "Chyba OpenSSL: %s"
@@ -10687,75 +10846,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr "Spuštění hostitele na XenServer není podporováno."
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
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:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "Obdržena výjimka: %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Oznamování NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake nemá zavedeno %s"
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Volání %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Volání pro získání %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Volání pro získání %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
msgstr "xenapi.fake nemá zavedeno %s, nebo byl zavolán se Å¡patným poÄtem argumentů"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Hostitel výpoÄtu %(host)s nemohl být nalezen."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10788,7 +10947,7 @@ msgstr "Nalezena sít mostu %s, která není jedineÄná"
msgid "Found no network for bridge %s"
msgstr "Žádná síť pro most %s nenalezena"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, fuzzy, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10797,37 +10956,37 @@ msgstr "Agregát %(aggregate_id)s již má hostitele %(host)s."
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
-#, fuzzy, python-format
-msgid "Unable to join %(host)s in the pool"
-msgstr "Nelze najít hostitele pro instanci %s"
+#, python-format
+msgid "Unable to join %s in the pool"
+msgstr ""
#: nova/virt/xenapi/pool.py:211
-#, fuzzy, python-format
-msgid "Pool-eject failed: %(e)s"
-msgstr "Nelze vložit soubor: %(resp)r"
+#, python-format
+msgid "Pool-eject failed: %s"
+msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Nelze použít globální roli %(role_id)s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10838,80 +10997,78 @@ msgstr "Nenalezeno žádné PIF pro zařízení %s"
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"PIF %(pif_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"
-#: nova/virt/xenapi/vm_utils.py:273
+#: nova/virt/xenapi/vm_utils.py:275
#, fuzzy
msgid "Created VM"
msgstr "_vytvořit: %s"
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: nova/virt/xenapi/vm_utils.py:292 nova/virt/xenapi/vm_utils.py:307
#, fuzzy
msgid "VM already halted, skipping shutdown..."
msgstr "VM %(instance_uuid)s již je zastavena, přeskakování vypnutí..."
-#: nova/virt/xenapi/vm_utils.py:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD v instanci %s nenalezeno"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "již odpojeno"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Nelze odpojit VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Nelze zniÄit VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "Vytvořeno VBD %(vbd_ref)s pro VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Vytvořeno VBD %(vbd_ref)s pro VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr "Nelze zniÄit VDI %s"
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10920,100 +11077,112 @@ msgstr ""
"Vytvořeno VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, "
"%(read_only)s) na %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "Instance nemohla být nalezena"
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, fuzzy, python-format
msgid "block device info: %s"
msgstr "block_device_list %s"
-#: nova/virt/xenapi/vm_utils.py:591
+#: nova/virt/xenapi/vm_utils.py:599
#, python-format
msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
msgstr "Zkopírováno VDI %(vdi_ref)s z VDI %(vdi_to_clone_ref)s"
-#: nova/virt/xenapi/vm_utils.py:636
-#, fuzzy, python-format
-msgid "No primary VDI found for %(vm_ref)s"
-msgstr "Nenalezeno žádné hlavní VDI pro %(vm_ref)s"
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "Spouštění snímku ve VM %s"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of 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."
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: nova/virt/xenapi/vm_utils.py:1062
#, fuzzy, python-format
msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
msgstr "xapi 'download_vhd' vrátil VDI typu '%(vdi_type)s' s UUID '%(vdi_uuid)s'"
-#: nova/virt/xenapi/vm_utils.py:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Žádání xapi o získání obrazu vhd %(image)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, 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:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, 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:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, 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:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -11022,64 +11191,64 @@ msgstr ""
"Obraz Kernel/Ramdisk je příliš velký: %(vdi_size)d bajtů, max "
"%(max_size)d bajtů"
-#: nova/virt/xenapi/vm_utils.py:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s zniÄeno"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "instance %s: nelze získat obraz glance"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, 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:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Hledání vdi %s pro kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
-msgstr "Neznámý formát obrazu %(disk_image_type)s"
+msgid "Unknown image format %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s je stále dostupné"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Znovu skenování SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, 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:1595
+#: nova/virt/xenapi/vm_utils.py:1623
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
@@ -11088,50 +11257,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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr "Nelze najít SR typu obsahu ISO"
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
-msgstr "ISO: hledání SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr "ISO: není obsah iso"
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO: typ obsahu iso, není klÃ­Ä 'i18n-key'"
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
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:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: SR odpovídající naším kritériím"
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
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:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
-msgstr "ISO: PBD %(pbd_ref)s zmizelo"
+msgid "ISO: PBD %s disappeared"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, 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:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr "ISO: SR s místním PBD"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
@@ -11140,22 +11309,22 @@ msgstr ""
"Nelze získat RRD XML pro VM %(vm_uuid)s mající podrobnosti serveru: "
"%(server)s."
-#: nova/virt/xenapi/vm_utils.py:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-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 "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "Neznámá data statistik od Xenserver: %s"
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11164,66 +11333,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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-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 "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, 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:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Zapojování VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "Zapojování VBD %s hotovo."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, 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:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, 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:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "NiÄení VBD pro VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "NiÄení VBD pro VDI %s hotovo."
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Spouštění pygrub s %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Nalezen kernel Xen %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "Žádný kernel Xen nenalezen. Zavádění HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11231,16 +11400,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr "Oddíly:"
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sektorů"
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11249,289 +11418,282 @@ msgstr ""
"Zapisování tabulky oddílů %(primary_first)d %(primary_last)d do "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "Zapisování tabulky oddílů %s dokonÄeno."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr "Přímé zacházení se soubory rozhraní"
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, 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:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
-#, fuzzy, python-format
-msgid "Updating progress to %(progress)d"
-msgstr "Aktualizace postupu instance '%(instance_uuid)s' na %(progress)d"
+#: 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:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Odstraňování základního souboru: %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Spouštění instance..."
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr "Odstraňování souborů kernel/ramdisku z dom0"
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, fuzzy, python-format
msgid "Block device information present: %s"
msgstr "block_device_mapping %s"
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Nelze aktualizovat svazek v db"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
#, fuzzy
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
"Automatické nastavení disku pro instanci %(instance_uuid)s, pokus o změnu"
" velikosti oddílu..."
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "Restartování xvp"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: nova/virt/xenapi/vmops.py:660
#, python-format
msgid ""
"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
"%(version)s"
msgstr "Psled v agenta pro %(hypervisor)s/%(os)s/%(architecture)s je %(version)s"
-#: nova/virt/xenapi/vmops.py:666
+#: nova/virt/xenapi/vmops.py:663
#, python-format
msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
msgstr "Nenalezena žádná verze agenta pro %(hypervisor)s/%(os)s/%(architecture)s"
-#: nova/virt/xenapi/vmops.py:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr "Verze agenta instance: %s"
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr "Nastavování váhy VCPU"
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, fuzzy, python-format
msgid "Could not find VM with name %s"
msgstr "Nelze najít odkaz na VDI"
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "DokonÄen snímek a nahrání na VM %s"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr "Nelze převést vhd na nového hostitele"
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Nelze restartovat instanci"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: nova/virt/xenapi/vmops.py:991
#, python-format
msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
msgstr "Zvětšení velikosti VDI %(vdi_uuid)s z%(old_gb)d GB na %(new_gb)d GB"
-#: nova/virt/xenapi/vmops.py:1002
+#: nova/virt/xenapi/vmops.py:998
#, fuzzy
msgid "Resize complete"
msgstr "Změna velikosti %s je hotova"
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
#, fuzzy
msgid "Unable to find root VBD/VDI for VM"
msgstr "Neůze najít vbd pro vdi %s"
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "Restartování xvp"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
#, fuzzy
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
"Instance %(instance_uuid)s pomocí RAW nebo VHD, přeskakování mazání "
"kernelu a ramdisku"
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr "Instance mí kernel nebo ramdisk, ale ne oba"
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "soubory kernel/ramdisk odstraněny"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "Restartování xvp"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr "VM není přítomno, pÅ™eskakování niÄení..."
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr "Instance již je v záchranném režimu: %s"
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
#, fuzzy
msgid "VM is not present, skipping soft delete..."
msgstr "VM není přítomno, pÅ™eskakování niÄení..."
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
#, fuzzy
msgid "Automatically hard rebooting"
msgstr "Automatický tvrdý restart %d"
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "Vkládání informací o síti do xs pro vm: |%s|"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
#, fuzzy
msgid "Creating vifs"
msgstr "Vytváření obrazu"
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "vytváření VIF pro VM %(vm_ref)s, síť %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "vytváření VIF pro VM %(vm_ref)s, síť %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
#, fuzzy
msgid "Injecting hostname to xenstore"
msgstr "Vkládání názvu hostitele do xs pro vm: |%s|"
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "Špatný formát sítě"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
#, fuzzy
msgid "Migrate Send failed"
msgstr "Vytvoření selhalo"
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Vytváření SR %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Zavádění SR %s"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11581,25 +11743,25 @@ msgstr "Nelze zavést VDI pro SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
-msgstr "Nelze získat informace o cíli %(data)s, %(mountpoint)s"
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#, python-format
+msgid "Unable to obtain target information %s"
+msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(connection_data)s"
-msgstr "Nelze získat informace o cíli %(data)s, %(mountpoint)s"
+#: 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:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "Instance %(instance_id)s nemohla být nastavena."
+#: 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
@@ -11609,7 +11771,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "Neznámý základní soubor: %s"
@@ -11619,32 +11781,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)"
@@ -11664,3 +11826,9 @@ msgstr "stav musí být dostupný"
msgid "status must be 'available'"
msgstr "stav musí být dostupný"
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "Certifikát %(certificate_id)s nenalezen."
+
+#~ msgid "quantum authentication failed"
+#~ msgstr "Chyba ověření"
+
diff --git a/nova/locale/da/LC_MESSAGES/nova.po b/nova/locale/da/LC_MESSAGES/nova.po
index 78c7cf216..bc66f7c47 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -457,863 +464,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1332,7 +1376,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1369,148 +1413,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1524,7 +1563,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 ""
@@ -1543,124 +1582,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1670,261 +1709,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1973,43 +2012,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2038,7 +2107,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2218,7 +2287,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2322,290 +2391,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2684,7 +2753,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2776,28 +2845,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2889,13 +2963,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2944,7 +3018,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2992,7 +3066,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3020,34 +3094,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3072,12 +3146,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3188,18 +3256,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3207,7 +3292,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3224,36 +3309,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3318,26 +3411,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3381,98 +3474,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3484,30 +3582,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3517,35 +3615,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3566,552 +3664,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4169,686 +4278,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4948,11 +5060,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4962,18 +5074,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5055,11 +5167,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5077,24 +5189,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5111,57 +5243,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5185,47 +5317,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5350,23 +5487,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5391,109 +5528,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5501,98 +5638,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5627,78 +5764,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5720,7 +5858,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5733,45 +5871,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5783,21 +5921,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6000,21 +6138,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6204,7 +6352,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6233,44 +6381,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6495,7 +6643,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6613,7 +6761,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6634,10 +6782,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6645,6 +6800,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6835,12 +6995,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6885,13 +7045,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6904,64 +7057,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6971,22 +7131,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7052,28 +7212,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7083,25 +7251,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7110,42 +7278,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7254,22 +7422,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7289,7 +7457,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7299,28 +7467,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7405,15 +7573,15 @@ 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 ""
@@ -7895,16 +8063,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8247,12 +8415,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8410,7 +8578,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8429,251 +8597,257 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "bind %s: slettet"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/de/LC_MESSAGES/nova.po b/nova/locale/de/LC_MESSAGES/nova.po
index cab474c5e..aa9903822 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,86 +378,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "Instanz %s: Rettung"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, 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:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,262 +1710,262 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "Instanz %s: Rettung"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1975,43 +2014,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2040,7 +2109,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2220,7 +2289,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2324,291 +2393,291 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2687,7 +2756,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2780,28 +2849,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Instanz %s pausiert"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2894,13 +2968,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2950,7 +3024,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2998,7 +3072,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3026,34 +3100,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3078,12 +3152,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3194,18 +3262,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3213,7 +3298,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3230,36 +3315,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3324,26 +3417,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3387,99 +3480,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, 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:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3491,30 +3589,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3524,35 +3622,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3573,554 +3671,565 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Instanz %s: Rettung"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, 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:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4178,693 +4287,696 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Volume %s: erstelle Export"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Instanz %s pausiert"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4964,11 +5076,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4978,18 +5090,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5071,11 +5183,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5093,24 +5205,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5127,57 +5259,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5201,47 +5333,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5366,23 +5503,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5407,109 +5544,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5517,98 +5654,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5643,79 +5780,80 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5737,7 +5875,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5750,45 +5888,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5800,21 +5938,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6018,21 +6156,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6222,7 +6370,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6251,44 +6399,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6513,7 +6661,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6631,7 +6779,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6652,10 +6800,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6663,6 +6818,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6853,12 +7013,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6903,13 +7063,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6922,64 +7075,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6989,22 +7149,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7070,28 +7230,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7101,25 +7269,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7128,42 +7296,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7277,22 +7445,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7312,7 +7480,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7322,28 +7490,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, 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:377
+#: nova/virt/baremetal/tilera.py:368
#, 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:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7428,15 +7596,15 @@ 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 ""
@@ -7918,16 +8086,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8270,12 +8438,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8435,7 +8603,7 @@ msgstr ""
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8454,251 +8622,257 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Volume %s: erfolgreich erstellt"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8706,73 +8880,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8780,50 +8957,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8833,67 +9010,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8904,33 +9081,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9076,22 +9253,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. "
@@ -9099,17 +9276,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9146,14 +9323,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9161,7 +9338,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9169,7 +9346,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9177,7 +9354,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9185,87 +9362,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9369,26 +9546,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9534,32 +9711,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9569,39 +9746,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9610,38 +9787,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9684,57 +9861,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9742,312 +9919,311 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "Instanz %s: Rettung"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "Instanz %s: Rettung"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10110,7 +10286,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10120,12 +10296,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10135,116 +10311,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10260,75 +10431,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10360,7 +10531,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10369,37 +10540,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10410,371 +10581,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10782,283 +10967,276 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11108,24 +11286,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11136,7 +11314,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11146,32 +11324,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 ""
@@ -11189,3 +11367,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/en_AU/LC_MESSAGES/nova.po b/nova/locale/en_AU/LC_MESSAGES/nova.po
index a3eadfb46..e01cb783b 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,217 +157,224 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Invalid signature for user %s"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "instance %s: booted"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Failed to get metadata for ip: %s"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Going to start terminating instances"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Going to start terminating instances"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Going to start terminating instances"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -375,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: rescued"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -462,864 +469,901 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "setting network host"
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "setting network host"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "volume group %s doesn't exist"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Going to start terminating instances"
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "instance %s: booted"
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Could not attach image to loopback: %s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Could not attach image to loopback: %s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Going to try to terminate %s"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Going to try to terminate %s"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1338,7 +1382,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Failed to get metadata for ip: %s"
@@ -1376,148 +1420,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "Starting %(topic)s node (version %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Service killed that has no database entry"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1531,7 +1570,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 ""
@@ -1550,11 +1589,11 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Too many failed authentications."
-#: nova/api/ec2/__init__.py:183
+#: nova/api/ec2/__init__.py:184
#, python-format
msgid ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
@@ -1563,114 +1602,114 @@ msgstr ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
" will be locked out for %(lock_mins)d minutes."
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Authentication Failure: %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Too many failed authentications."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "action: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s\t\tval: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "Unauthorised request for controller=%(controller)s and action=%(action)s"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "InstanceNotFound raised: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "VolumeNotFound raised: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "NotFound raised: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "Unexpected error raised: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "Unexpected error raised: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "An unknown error has occurred. Please try your request again."
@@ -1680,265 +1719,265 @@ 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:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, 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:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "No rule for the specified parameters."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "This rule already exists in group %s"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "attribute not supported: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Allocate address"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Release address %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Going to start terminating instances"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "user or group not specified"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "only group \"all\" is supported"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type must be add or remove"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Updating image %s publicity"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: rescued"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1987,43 +2026,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Caught error: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Got exception: %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2052,7 +2121,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2232,7 +2301,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2336,296 +2405,296 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Going to try to terminate %s"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2704,7 +2773,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2799,28 +2868,33 @@ msgstr "Starting VLAN interface %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "instance %s: booted"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2915,13 +2989,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2971,7 +3045,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3020,7 +3094,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3049,34 +3123,34 @@ msgstr "Invalid backend: %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Calling getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Calling getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3101,12 +3175,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr "Invalid signature for user %s"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3219,18 +3287,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "setting network host"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
#, python-format
-msgid "Quota for %s should be integer."
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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
@@ -3238,7 +3323,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Not enough parameters to build a valid rule."
@@ -3256,39 +3341,46 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Reboot instance %r"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Reboot instance %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "action: %s"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3353,26 +3445,26 @@ msgstr "Release address %s"
msgid "Unreserving IP address %s"
msgstr "Release address %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3416,99 +3508,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Going to start terminating instances"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Going to start terminating instances"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, 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:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3520,31 +3617,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "Get console output for instance %s"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "Network to push into openvpn config"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "Netmask to push into openvpn config"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Launching VPN for %s"
@@ -3554,35 +3650,35 @@ msgstr "Launching VPN for %s"
msgid "Failed to load %s"
msgstr "Unable to locate volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3603,569 +3699,580 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "setting network host"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s already exists"
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "setting network host"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reboot instance %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error raised: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: rescued"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, 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:301
+#: nova/compute/api.py:300
#, 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:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach volume to instance %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "Going to run %s instances..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "instance %s: booted"
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Starting snapshot for VM %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorise security group ingress %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4224,706 +4331,710 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Unexpected error raised: %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Caught error: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "setting network host"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Going to try to terminate %s"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Detach volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Running instances: %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: rebooted"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
-#, fuzzy, python-format
-msgid "injecting file to %(path)s"
-msgstr "Injecting file path: '%s'"
+#: nova/compute/manager.py:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Caught error: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: unrescuing"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: retrieving diagnostics"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "setting network host"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "setting network host"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "Adding console"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "Adding console"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "instance %s: booted"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "instance %s: booted"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Deleting user %s"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: booted"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Deleting user %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5023,11 +5134,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5037,18 +5148,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5131,11 +5242,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5153,24 +5264,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5187,57 +5318,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5261,47 +5392,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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 "Failed to decrypt private key: %s"
-#: nova/image/s3.py:403
+#: 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:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5427,23 +5563,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5468,109 +5604,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d is stale, relaunching dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Hupping dnsmasq threw %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d is stale, relaunching dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "killing radvd threw %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid backend: %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Error starting xvp: %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "setting network host"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5578,92 +5714,92 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "IP %s released that was not leased"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
@@ -5671,7 +5807,7 @@ msgstr ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
-#: nova/network/manager.py:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5707,79 +5843,80 @@ msgstr "received %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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"
@@ -5801,7 +5938,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Caught error: %s"
@@ -5816,46 +5953,46 @@ msgstr "Delete security group %s"
msgid "Security group id should be uuid"
msgstr "Revoke security group ingress %s"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Authorise security group ingress %s"
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5867,21 +6004,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "This rule already exists in group %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "Error starting xvp: %s"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6084,21 +6221,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6288,7 +6435,7 @@ msgid "Returning exception %s to caller"
msgstr "Returning exception %s to caller"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6317,44 +6464,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6584,7 +6731,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6702,7 +6849,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6723,10 +6870,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6734,6 +6888,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6924,12 +7083,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6974,13 +7133,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6993,64 +7145,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Running instances: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "After terminating instances: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7060,22 +7219,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7142,28 +7301,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "setting network host"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7173,25 +7340,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7200,42 +7367,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7349,22 +7516,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7384,7 +7551,7 @@ msgstr "Get console output for instance %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7394,28 +7561,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Get console output for instance %s"
@@ -7500,15 +7667,15 @@ 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 ""
@@ -7996,17 +8163,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Release address %s"
@@ -8352,12 +8519,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "Going to start terminating instances"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, 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:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injecting file path: '%s'"
@@ -8523,7 +8690,7 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "Creating a raw instance"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8542,254 +8709,260 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "volume group %s doesn't exist"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to try to terminate %s"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: rebooted"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8797,73 +8970,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8871,50 +9047,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8924,67 +9100,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Authentication Failure: %s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8995,33 +9171,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9167,22 +9343,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. "
@@ -9190,17 +9366,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9237,14 +9413,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9252,7 +9428,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9260,7 +9436,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9268,7 +9444,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9276,87 +9452,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "group %s already exists"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9461,26 +9637,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9626,32 +9802,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9661,39 +9837,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9702,38 +9878,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "action: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9776,57 +9952,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9834,318 +10010,317 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Going to run %s instances..."
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "Creating a raw instance"
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "instance %s: rescued"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Restarting xvp"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested return %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "De-registering image %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Going to run %s instances..."
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "instance %s: booted"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Deleting user %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "instance %s: rescued"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Deleting user %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10208,7 +10383,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10218,12 +10393,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10233,116 +10408,111 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Unable to detach volume %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Injecting file path: '%s'"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Failed to get metadata for ip: %s"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL error: %s"
@@ -10362,54 +10532,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "Got exception: %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10418,21 +10588,21 @@ msgstr ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10464,7 +10634,7 @@ msgstr "Found non-unique network for bridge %s"
msgid "Found no network for bridge %s"
msgstr "Found no network for bridge %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10473,37 +10643,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Unable to detach volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10514,76 +10684,76 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD not found in instance %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "group %s already exists"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Unable to unplug VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10592,230 +10762,244 @@ msgstr ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
" on %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "Starting snapshot for VM %s"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, 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:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -10824,66 +11008,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10891,290 +11075,283 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Creating a raw instance"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "Restarting xvp"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "Finished snapshot and upload for VM %s"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Going to start terminating instances"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "Restarting xvp"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "kernel/ramdisk files removed"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "Restarting xvp"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "setting network host"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "setting network host"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Introducing %s..."
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11223,24 +11400,24 @@ 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:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11251,7 +11428,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "NotFound raised: %s"
@@ -11261,32 +11438,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 ""
@@ -11304,3 +11481,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/en_GB/LC_MESSAGES/nova.po b/nova/locale/en_GB/LC_MESSAGES/nova.po
index f2df215f3..c18156ebb 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,76 +156,83 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "Keypair data is invalid"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "The request is invalid."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Invalid input received"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Invalid volume"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -234,16 +241,16 @@ msgstr ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -252,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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "VBD not found in instance %s"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Unable to destroy VBD %s"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -376,86 +383,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: resuming"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -463,863 +470,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Unable to attach volume to instance %s"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1338,7 +1382,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1375,148 +1419,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1530,7 +1569,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 ""
@@ -1549,124 +1588,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1676,262 +1715,262 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: resuming"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "Invalid cidr %(cidr)s."
@@ -1982,43 +2021,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2047,7 +2116,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2227,7 +2296,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2331,293 +2400,293 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2696,7 +2765,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2789,28 +2858,33 @@ msgstr "Starting VLAN interface %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, 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
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2905,13 +2979,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2961,7 +3035,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3009,7 +3083,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3037,34 +3111,34 @@ msgstr "Invalid backend: %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Calling getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Calling getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3089,12 +3163,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3206,18 +3274,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3225,7 +3310,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3242,37 +3327,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "An unknown exception occurred."
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3337,26 +3429,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3400,99 +3492,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3504,31 +3601,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "Invalid instance type %(instance_type)s."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3538,35 +3634,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Unable to locate volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3587,557 +3683,568 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "instance %s: reset network"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Rebooting instance %s"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: resuming"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach volume to instance %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Virtual Interface creation failed"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4196,700 +4303,703 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "volume %s: creating export"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Unable to detach volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "VBD not found in instance %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: retrieving diagnostics"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "instance %s: reset network"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "instance %s: snapshotting"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Instance %(instance_id)s is not running."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "Instance %(instance_id)s is not running."
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Re-exporting %s volumes"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Re-exporting %s volumes"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Invalid instance type %(instance_type)s."
@@ -4989,11 +5099,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5003,18 +5113,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5097,11 +5207,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5119,24 +5229,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5153,57 +5283,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5227,47 +5357,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5392,23 +5527,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5433,109 +5568,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d is stale, relaunching dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Hupping dnsmasq threw %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d is stale, relaunching dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "killing radvd threw %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid backend: %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5543,98 +5678,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5670,79 +5805,80 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5764,7 +5900,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5777,45 +5913,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5827,21 +5963,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6045,21 +6181,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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."
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6250,7 +6396,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6279,44 +6425,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6546,7 +6692,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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."
@@ -6664,7 +6810,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6685,10 +6831,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6696,6 +6849,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6886,12 +7044,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6936,13 +7094,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6955,64 +7106,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7022,22 +7180,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7103,28 +7261,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7134,25 +7300,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7161,42 +7327,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7310,22 +7476,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7345,7 +7511,7 @@ msgstr "Get console output for instance %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7355,28 +7521,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Invalid instance type %(instance_type)s."
@@ -7461,15 +7627,15 @@ 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 ""
@@ -7953,17 +8119,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8309,12 +8475,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8480,7 +8646,7 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8499,252 +8665,258 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connection to melange failed"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: created successfully"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8752,73 +8924,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Unable to detach volume %s"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8826,50 +9001,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8879,67 +9054,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8950,33 +9125,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9122,22 +9297,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. "
@@ -9145,17 +9320,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9192,14 +9367,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9207,7 +9382,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9215,7 +9390,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9223,7 +9398,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9231,87 +9406,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9417,26 +9592,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Connection to melange failed"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9583,32 +9758,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9618,39 +9793,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9659,38 +9834,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9733,57 +9908,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9791,313 +9966,312 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "instance %s: resuming"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested return %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, 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:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Re-exporting %s volumes"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "instance %s: resuming"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Re-exporting %s volumes"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10160,7 +10334,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10170,12 +10344,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10185,116 +10359,111 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Unable to detach volume %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10310,54 +10479,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10366,21 +10535,21 @@ msgstr ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Instance %(instance_id)s is not running."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10412,7 +10581,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10421,37 +10590,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Unable to detach volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10462,76 +10631,76 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD not found in instance %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Unable to unplug VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10540,229 +10709,243 @@ msgstr ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
" on %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -10771,66 +10954,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10838,284 +11021,277 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Rebooting instance %s"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Rebooting instance %s"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Re-exporting %s volumes"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11165,25 +11341,25 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "Instance %(instance_id)s is not running."
+#: 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
@@ -11193,7 +11369,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11203,32 +11379,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 ""
@@ -11246,3 +11422,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/en_US/LC_MESSAGES/nova.po b/nova/locale/en_US/LC_MESSAGES/nova.po
index 2f8c5759a..86271c179 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr "block_device_list %s"
@@ -159,76 +159,83 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "Keypair data is invalid"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "The request is invalid."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Invalid input received"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Invalid volume"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Invalid metadata"
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr "Invalid metadata size"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 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:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -237,16 +244,16 @@ msgstr ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "Group not valid. Reason: %(reason)s"
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 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:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -255,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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, 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:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s is not ready"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Failed to suspend instance"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Failed to reset network: %(resp)r"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, 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:332
+#: nova/exception.py:343
#, 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:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Failed to reboot instance"
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr "Failed to terminate instance"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Failed to reboot instance"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Service is unavailable at this time."
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr "Insufficient compute resources."
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, 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:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr "The supplied hypervisor type of is invalid."
-#: nova/exception.py:369
+#: nova/exception.py:380
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:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -342,31 +349,31 @@ msgstr ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "The supplied device path (%(path)s) is invalid."
-#: nova/exception.py:383
+#: nova/exception.py:394
#, 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:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "The supplied device (%(device)s) is busy."
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "Unacceptable CPU info"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -375,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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -386,85 +393,85 @@ msgstr ""
"the desired physical adapter. Expected vSwitch is %(expected)s, but the "
"one associated is %(actual)s."
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Disk format %(disk_format)s is not acceptable"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Image %(image_id)s is unacceptable: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "Instance %(instance_id)s is unacceptable: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s is unacceptable."
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr "Expected a uuid but received %(uuid)s."
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr "Constraint not met."
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "Resource could not be found."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "No fixed IP associated with id %(id)s."
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Volume %(volume_id)s could not be found."
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Snapshot %(snapshot_id)s could not be found."
-#: nova/exception.py:459
+#: nova/exception.py:470
#, 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:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "No disk at %(location)s"
-#: nova/exception.py:467
+#: nova/exception.py:478
#, 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:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Invalid image href %(image_href)s."
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Image %(image_id)s could not be found."
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -475,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:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Project %(project_id)s could not be found."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "Cannot find SR to read/write VDI."
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Network %(network_id)s is still in use."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Network %(network_id)s is still in use."
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s is required to create a network."
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Network %(network_id)s could not be found."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, 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:518
+#: nova/exception.py:529
#, 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:522
+#: nova/exception.py:533
#, 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:526
+#: nova/exception.py:537
#, 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:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "No networks defined."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -542,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:539
+#: nova/exception.py:550
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:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Port %(port_id)s is still in use."
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, 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:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "No fixed IP associated with id %(id)s."
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "Fixed ip not found for address %(address)s."
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "Instance %(instance_uuid)s has zero fixed ips."
-#: nova/exception.py:567
+#: nova/exception.py:578
#, 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:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
@@ -595,7 +602,7 @@ msgstr ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
@@ -604,121 +611,116 @@ msgstr ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
-#: nova/exception.py:586
+#: nova/exception.py:597
#, 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:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "Fixed IP address %(address)s is invalid."
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr "Zero fixed ips available."
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr "Zero fixed ips could be found."
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Floating ip %(address)s already exists."
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "Floating ip not found for id %(id)s."
-#: nova/exception.py:616
+#: nova/exception.py:627
#, 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:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "Floating ip not found for address %(address)s."
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "Floating ip not found for host %(host)s."
-#: nova/exception.py:628
+#: nova/exception.py:639
#, 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:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr "Floating ip pool not found."
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr "Zero floating ips available."
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "Floating ip %(address)s is associated."
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "Floating ip %(address)s is not associated."
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr "Zero floating ips exist."
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Interface %(interface)s not found."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr "Cannot disassociate auto assigined floating ip"
-#: nova/exception.py:662
+#: nova/exception.py:673
#, 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:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certificate %(certificate_id)s not found."
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Service %(service_id)s could not be found."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Host %(host)s could not be found."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "Compute host %(host)s could not be found."
-#: nova/exception.py:682
+#: nova/exception.py:689
#, 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:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
@@ -727,56 +729,56 @@ msgstr ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "Quota could not be found"
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr "Unknown quota resources %(unknown)s."
-#: nova/exception.py:703
+#: nova/exception.py:710
#, 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:707
+#: nova/exception.py:714
#, 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:711
+#: nova/exception.py:718
#, 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:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Quota reservation %(uuid)s could not be found."
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "Quota exceeded for resources: %(overs)s"
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "Security group %(security_group_id)s not found."
-#: nova/exception.py:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, 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:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -785,7 +787,7 @@ msgstr ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -794,37 +796,37 @@ msgstr ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
-#: nova/exception.py:746
+#: nova/exception.py:753
#, 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:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Migration %(migration_id)s could not be found."
-#: nova/exception.py:764
+#: nova/exception.py:771
#, 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:769
+#: nova/exception.py:776
#, 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:773
+#: nova/exception.py:780
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -833,17 +835,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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "Console %(console_id)s could not be found."
-#: nova/exception.py:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
@@ -852,81 +854,86 @@ msgstr ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
-#: nova/exception.py:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Invalid console type %(console_type)s "
-#: nova/exception.py:796
+#: nova/exception.py:803
#, 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:800
+#: nova/exception.py:807
#, 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:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Flavor %(flavor_id)s could not be found."
-#: nova/exception.py:809
+#: nova/exception.py:816
#, 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:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "pool %s doesn't exist"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "Timed out waiting for RPC response: %s"
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Destroying VDIs for Instance %(instance_uuid)s"
-#: nova/exception.py:846
+#: nova/exception.py:857
#, 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:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
@@ -935,7 +942,7 @@ msgstr ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -944,63 +951,63 @@ msgstr ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "File %(file_path)s could not be found."
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr "Zero files could be found."
-#: nova/exception.py:873
+#: nova/exception.py:884
#, 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:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "Network adapter %(adapter)s could not be found."
-#: nova/exception.py:882
+#: nova/exception.py:893
#, 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:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "Action not allowed."
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr "Rotation is not allowed for snapshots"
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr "Rotation param is required for backup image_type"
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr "Instance %(name)s already exists."
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Instance Type with name %(name)s already exists."
-#: nova/exception.py:910
+#: nova/exception.py:921
#, 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:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
@@ -1009,76 +1016,81 @@ msgstr ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
-#: nova/exception.py:919
+#: nova/exception.py:930
#, 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:923
+#: nova/exception.py:934
#, 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:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr "Migration error"
-#: nova/exception.py:931
+#: nova/exception.py:942
#, fuzzy
msgid "Migration pre-check error"
msgstr "Migration error"
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Malformed message body: %(reason)s"
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Could not find config at %(path)s"
-#: nova/exception.py:945
+#: nova/exception.py:956
#, 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:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr "When resizing, instances must change flavor!"
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
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:961
+#: nova/exception.py:976
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:965
+#: nova/exception.py:980
#, 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:969
+#: nova/exception.py:984
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:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "No valid host was found. %(reason)s"
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "Quota exceeded"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
@@ -1087,41 +1099,41 @@ msgstr ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
-#: nova/exception.py:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr "Maximum number of floating ips exceeded"
-#: nova/exception.py:993
+#: nova/exception.py:1008
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Maximum number of floating ips exceeded"
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Maximum number of metadata items exceeds %(allowed)d"
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr "Personality file limit exceeded"
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr "Personality file path too long"
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr "Personality file content too long"
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr "Maximum number of key pairs exceeded"
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr "Maximum number of security groups or rules exceeded"
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
@@ -1130,125 +1142,125 @@ msgstr ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "Aggregate %(aggregate_id)s could not be found."
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "Aggregate %(aggregate_name)s already exists."
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, 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:1038
+#: nova/exception.py:1053
#, 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:1043
+#: nova/exception.py:1058
#, 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:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr "Unable to create instance type"
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, 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:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "Detected existing vlan with id %(vlan)d"
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "Instance %(instance_id)s could not be found."
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Volume %(volume_id)s could not be found."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Marker %(marker)s could not be found."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr "Invalid id: %(val)s (expecting \"i-...\")."
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Could not fetch image %(image_id)s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Could not fetch image %(image_id)s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, 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:1103
+#: nova/exception.py:1118
#, 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:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_uuid)s is locked"
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, 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:1116
+#: nova/exception.py:1131
#, 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:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
@@ -1257,11 +1269,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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr "User data needs to be valid base 64."
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
@@ -1270,19 +1282,19 @@ msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, 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:1153
+#: nova/exception.py:1168
#, fuzzy, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
@@ -1291,83 +1303,115 @@ msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, 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:1162
+#: nova/exception.py:1177
#, 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:1166
+#: nova/exception.py:1181
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password is not implemented by this driver."
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Instance Type with name %(name)s already exists."
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Expected object of type: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1386,7 +1430,7 @@ msgstr "Notifying Schedulers of capabilities ..."
msgid "Failed to send state update notification"
msgstr "Failed to send state update notification"
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Failed to get info for disk %s"
@@ -1424,150 +1468,145 @@ msgstr "Failed to roll back reservations %(reservations)s"
msgid "Rolled back reservations %(reservations)s"
msgstr "Failed to roll back reservations %(reservations)s"
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "Starting %(topic)s node (version %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr "Creating Consumer connection for Service %s"
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Service killed that has no database entry"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr "serve() can only be called once"
-#: nova/utils.py:145
+#: nova/utils.py:142
#, 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:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:438
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Unknown base file: %s"
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "Expected object of type: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr "Invalid server_string: %s"
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' took %(total_time).2f secs"
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr "Reloading cached file %s"
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Could not remove tmpdir: %s"
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Server name is not a string or unicode"
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, 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:1101
+#: nova/utils.py:1041
#, 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"
@@ -1581,7 +1620,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."
@@ -1600,11 +1639,11 @@ msgstr "%(code)s: %(message)s"
msgid "FaultWrapper: %s"
msgstr "FaultWrapper: %s"
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Too many failed authentications."
-#: nova/api/ec2/__init__.py:183
+#: nova/api/ec2/__init__.py:184
#, python-format
msgid ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
@@ -1613,114 +1652,114 @@ msgstr ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
" will be locked out for %(lock_mins)d minutes."
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr "Signature not provided"
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr "Access key not provided"
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr "Failure communicating with keystone"
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Live Migration failure: %(e)s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Too many failed authentications."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "action: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s\t\tval: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "Unauthorized request for controller=%(controller)s and action=%(action)s"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "InstanceNotFound raised: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "VolumeNotFound raised: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr "SnapshotNotFound raised: %s"
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "NotFound raised: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr "KeyPairExists raised: %s"
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, fuzzy, python-format
msgid "InvalidKeypair raised: %s"
msgstr "InvalidRequest raised: %s"
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr "InvalidParameterValue raised: %s"
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr "InvalidPortRange raised: %s"
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr "NotAuthorized raised: %s"
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr "InvalidRequest raised: %s"
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr "QuotaError raised: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr "Invalid id: bogus (expecting \"i-...\"): %s"
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "Unexpected error raised: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr "Environment: %s"
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "An unknown error has occurred. Please try your request again."
@@ -1730,224 +1769,224 @@ 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:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Create snapshot of volume %s"
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr "Could not find key pair(s): %s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr "Quota exceeded, too many key pairs."
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "Import key %s"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
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:616
+#: nova/api/ec2/cloud.py:627
#, 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:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "No rule for the specified parameters."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr "%s - This rule already exists in group"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Create volume from snapshot %s"
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr "Delete Failed"
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr "Attach Failed."
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr "Detach Volume Failed."
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "attribute not supported: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Allocate address"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr "No more floating IPs available"
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Release address %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr "Unable to release IP Address."
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Unable to associate IP Address, no fixed_ips."
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr "Floating ip is already associated."
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr "l3driver call to add floating ip failed."
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr "Error, unable to associate floating ip."
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr "Floating ip is not associated."
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: 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:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr "Image must be available"
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Going to start terminating instances"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr "Going to stop instances"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr "Going to start instances"
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr "imageLocation is required"
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "user or group not specified"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "only group \"all\" is supported"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type must be add or remove"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Updating image %s publicity"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, 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:1621
+#: nova/api/ec2/cloud.py:1639
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
@@ -1956,40 +1995,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:1652
+#: nova/api/ec2/cloud.py:1671
#, 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:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr "image of %(instance)s at %(now)s"
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Getting list of instances"
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instance not present"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Getting list of instances"
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr "Invalid CIDR"
@@ -2040,26 +2079,26 @@ msgstr "Invalid request: %s"
msgid "Failed to get metadata for instance id: %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Caught error: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s returned with HTTP %(status)d"
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr "Must specify an ExtensionManager class"
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr "Extended resource: %s"
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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 "
@@ -2068,17 +2107,47 @@ msgstr ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
-#: nova/api/openstack/__init__.py:209 nova/api/openstack/__init__.py:341
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "Extension %(ext_name)s extending resource: %(collection)s"
-#: nova/api/openstack/__init__.py:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "Calling extension factory %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "Loading extension %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Loading extension %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2109,7 +2178,7 @@ msgid "offset param must be positive"
msgstr "offset param must be positive"
#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
-#: nova/api/openstack/compute/plugins/v3/servers.py:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr "marker [%s] not found"
@@ -2289,7 +2358,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2395,295 +2464,295 @@ msgid "Metadata item was not found"
msgstr "Metadata item was not found"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Invalid changes-since value"
#: nova/api/openstack/compute/servers.py:540
-#: nova/api/openstack/compute/plugins/v3/servers.py:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
msgid "Only administrators may list deleted instances"
msgstr "Only administrators may list deleted instances"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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 "Instance could not be found"
-#: nova/api/openstack/compute/servers.py:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: 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"
@@ -2763,7 +2832,7 @@ msgstr "createBackup attribute 'rotation' must be an integer"
#: 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "Instance not found"
@@ -2859,30 +2928,35 @@ msgstr "Starting VLAN interface %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Rule (%s) not found"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Security group name cannot be empty"
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
#, fuzzy
msgid "No cell information in request"
msgstr "Block device information present: %s"
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2980,13 +3054,13 @@ msgstr "host and block_migration must be specified."
msgid "Error in evacuate, %s"
msgstr "Error in migrate %s"
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3036,7 +3110,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr "Missing parameter dict"
@@ -3085,7 +3159,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3114,37 +3188,37 @@ msgstr "Invalid mode: '%s'"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: nova/api/openstack/compute/contrib/hosts.py:206
#, fuzzy, python-format
msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
msgstr "Putting host %(host)s in maintenance mode %(mode)s."
-#: nova/api/openstack/compute/contrib/hosts.py:211
+#: nova/api/openstack/compute/contrib/hosts.py:212
#, fuzzy
msgid "Virt driver does not implement host maintenance mode."
msgstr "Virt driver does not implement uptime function."
-#: nova/api/openstack/compute/contrib/hosts.py:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Calling setter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Updating host stats"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: nova/api/openstack/compute/contrib/hosts.py:234
#, fuzzy
msgid "Virt driver does not implement host disabled status."
msgstr "Virt driver does not implement uptime function."
-#: nova/api/openstack/compute/contrib/hosts.py:247
+#: nova/api/openstack/compute/contrib/hosts.py:250
#, fuzzy
msgid "Virt driver does not implement host power management."
msgstr "Virt driver does not implement uptime function."
-#: nova/api/openstack/compute/contrib/hosts.py:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr "Describe-resource is admin only functionality"
@@ -3169,12 +3243,6 @@ msgstr "No hypervisor matching '%s' could be found."
msgid "Invalid timestamp for date %s"
msgstr "Invalid timestamp for date %s"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr "Key pair '%s' already exists."
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr "Missing 'networkId' argument for addFixedIp"
@@ -3290,26 +3358,43 @@ msgstr "Quota exceeded, too many key pairs."
msgid "Create networks failed"
msgstr "Create failed"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr "Quota limit must be -1 or greater."
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
-#, fuzzy, python-format
-msgid "Quota for %s should be integer."
-msgstr "version should be an integer"
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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 "Malformed scheduler_hints attribute"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Not enough parameters to build a valid rule."
@@ -3328,38 +3413,45 @@ 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:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, 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:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr "Security group not specified"
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr "Security group name cannot be empty"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr "start instance"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr "stop instance"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "Unknown chain: %r"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "unknown guestmount error"
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3424,26 +3516,26 @@ msgstr "Release address %s"
msgid "Unreserving IP address %s"
msgstr "Release address %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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"
@@ -3487,99 +3579,104 @@ msgstr "Sending message(s) to: %s"
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, fuzzy, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr "Casted '%(method)s' to compute '%(host)s'"
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Starting migration network for instance %(instance_uuid)s"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Starting migration network for instance %(instance_uuid)s"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Destroying VDIs for Instance %(instance_uuid)s"
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3591,30 +3688,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
-msgstr "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr "Template for cloudpipe instance boot script"
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "Network to push into openvpn config"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "Netmask to push into openvpn config"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Launching VPN for %s"
@@ -3624,35 +3721,35 @@ msgstr "Launching VPN for %s"
msgid "Failed to load %s"
msgstr "Failed to create VM %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "element is not a child"
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3675,339 +3772,349 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "Reset network"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: 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:325
+#: 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:384
+#: 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:433
+#: 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:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: 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:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Network not found"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: 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:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "stop instance"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "project"
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: 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:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance not present"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "unknown guestmount error"
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Table |%s| not created!"
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s is a valid instance name"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "DB error: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "hyperv vm state: %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr "Cannot run any more instances of this type."
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, 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:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
@@ -4016,7 +4123,7 @@ msgstr ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4025,93 +4132,93 @@ msgstr ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr "Metadata property key blank"
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr "Metadata property key greater than 255 characters"
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr "Metadata property value greater than 255 characters"
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach boot volume to instance %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "Going to run %s instances..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, 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:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr "Going to try to soft delete instance"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr "Going to try to terminate instance"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr "Going to try to stop instance"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr "Going to try to start instance"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr "Searching by: %s"
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr "snapshot for %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id is None. Assuming migration."
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4120,62 +4227,63 @@ msgstr ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, 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:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr "Locking"
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr "Unlocking"
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr "Volume must be attached in order to detach."
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, 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:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr "Keypair name contains unsafe characters"
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, 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:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr "Security group %s cannot be empty."
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4184,68 +4292,68 @@ msgstr ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, 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:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr "Quota exceeded, too many security groups."
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr "Security group %s already exists"
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy vbd %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy vbd %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr "Security group is still in use"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr "Failed to update usages deallocating security group"
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr "Rule (%s) not found"
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr "Quota exceeded, too many security group rules."
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorize security group ingress %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr "Security group id should be integer"
@@ -4308,290 +4416,290 @@ msgstr ""
"Unable to claim resources. Free CPU %(free_vcpus)d < requested CPU "
"%(vcpus)d"
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr "names can only contain [a-zA-Z0-9_.- ]"
-#: nova/compute/flavors.py:99
+#: 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"
-#: nova/compute/flavors.py:108
+#: 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"
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
#, fuzzy
msgid "'rxtx_factor' argument must be a positive float"
msgstr "create arguments must be positive integers"
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr "DB error: %s"
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr "Instance type %s not found for deletion"
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr "Possibly task preempted."
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
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:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Failed to terminate instance"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, 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:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr "Rebooting instance after nova-compute restart."
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr "Hypervisor driver does not support resume guests"
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Failed to suspend instance"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr "Hypervisor driver does not support firewall rules"
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Unexpected status code"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr "Checking state"
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr "Setting up bdm %s"
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
-#, fuzzy, python-format
-msgid "No node specified, defaulting to %(node)s"
-msgstr "Memory limit not specified, defaulting to unlimited"
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
+#, python-format
+msgid "No node specified, defaulting to %s"
+msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Instance failed to spawn"
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "DB error: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr "Error trying to reschedule"
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr "Retry info not present, will not reschedule"
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr "No request spec, will not reschedule"
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, fuzzy, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr "Re-scheduling instance: attempt %d"
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr "Instance build timed out. Set to error state."
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr "Starting instance..."
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "Floating ip pool not found."
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr "Instance failed network setup"
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Instance network_info: |%s|"
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr "Instance failed block device setup"
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr "Instance failed to spawn"
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr "Deallocating network for instance"
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr "%(action_str)s instance"
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Failed to dealloc network for deleted instance"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr "%(action_str)s instance"
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "Ignoring DiskNotFound: %s"
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "Ignoring VolumeNotFound: %s"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr "terminating bdm %s"
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr "Ignoring volume cleanup failure due to %s"
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. Setting instance vm_state to ERROR"
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr "Rebuilding instance"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, 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:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Attach boot from volume failed: %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr "Rebooting instance"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4600,21 +4708,25 @@ msgstr ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: rebooted"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr "instance snapshotting"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4623,163 +4735,161 @@ msgstr ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "Found %(num_images)d images (rotation: %(rotation)d)"
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr "Rotating out %d backups"
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "Deleting image %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, 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:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr "Root password set"
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
#, 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:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password failed: %s"
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr "error setting admin password"
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_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)"
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
-msgstr "injecting file to %(path)s"
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr "Rescuing"
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Error trying to reschedule"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "DB error: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr "Unrescuing"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
-msgstr "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
+msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Setting instance to %(state)s state."
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "Instance has no volume."
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr "destination same as source!"
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr "Migrating"
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-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 "Failed to rollback quota for failed finish_resize: %s"
+msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr "Pausing"
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr "Unpausing"
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr "Retrieving diagnostics"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr "Resuming"
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr "Reset network"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr "Inject network info"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr "network_info to inject: |%s|"
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr "Get console output"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr "Getting vnc console"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "Getting vnc console"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, 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:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "Attaching volume %(volume_id)s to %(mountpoint)s"
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
@@ -4788,59 +4898,59 @@ msgstr ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, 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:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "allocate_for_instance() for %s"
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "Port %(port_id)s is still in use."
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Host %(host)s could not be found."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
-msgstr "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
+msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr "_post_live_migration() is started.."
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
-msgstr "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4848,20 +4958,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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr "Post operation of migration started"
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Failed to get info for disk %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr "Updated the info_cache for instance"
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -4870,12 +4980,12 @@ msgstr ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, 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:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
@@ -4884,26 +4994,26 @@ msgstr ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr "In ERROR state"
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, 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:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
-msgstr "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
+msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
@@ -4912,25 +5022,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:3670
+#: nova/compute/manager.py:3769
#, 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:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr "Updating bandwidth usage cache"
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Updating bandwidth usage cache"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr "Updating host status"
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -4939,11 +5049,11 @@ msgstr ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
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:3882
+#: nova/compute/manager.py:3980
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
@@ -4952,80 +5062,76 @@ msgstr ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
-#: nova/compute/manager.py:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr "Instance shutdown by itself. Calling the stop API."
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr "error during stop() in sync_power_state."
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
#, 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:3952
+#: nova/compute/manager.py:4049
#, fuzzy
msgid "Instance is paused unexpectedly. Ignore."
msgstr "Instance is paused or suspended unexpectedly. Calling the stop API."
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr "Instance is not stopped. Calling the stop API."
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr "Instance is not (soft-)deleted."
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, skipping..."
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr "Reclaiming deleted instance"
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Loading compute driver '%s'"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 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:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%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."
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%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."
-#: nova/compute/manager.py:4092
-#, fuzzy, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
-msgstr "Unrecognized value '%(action)s' for FLAGS.running_deleted_instance_action"
+#: nova/compute/manager.py:4188
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
+msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Setting instance to %(state)s state."
@@ -5135,11 +5241,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr "Missing keys: %s"
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "No compute host specified"
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Unable to find host for Instance %s"
@@ -5149,18 +5255,18 @@ msgstr "Unable to find host for Instance %s"
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr "Using %(prefix)s instead of %(req_prefix)s"
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
@@ -5246,11 +5352,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Failed to reboot instance"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Failed to reboot instance"
@@ -5269,24 +5375,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Unrecognized read_deleted value '%s'"
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "instance %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5303,57 +5429,57 @@ msgstr "version should be an integer"
msgid "Upgrade DB using Essex release first."
msgstr "Upgrade DB using Essex release first."
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Unsupported Content-Type"
@@ -5381,47 +5507,52 @@ msgstr ""
"Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
"%(extra)s."
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: 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:372
+#: 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:396
+#: 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 "Failed to decrypt private key: %s"
-#: nova/image/s3.py:403
+#: 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:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "Unsafe filenames in image"
@@ -5555,23 +5686,23 @@ msgstr "Domain |%(domain)s| already exists, changing zone to |%(av_zone)s|."
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr "Domain |%(domain)s| already exists, changing project to |%(project)s|."
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr "This driver only supports type 'a' entries."
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5598,109 +5729,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr "IPTablesManager.apply completed with success"
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr "arping error for ip %s"
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d is stale, skip killing dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Hupping dnsmasq threw %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d is stale, relaunching dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "killing radvd threw %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid mode: '%s'"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting bridge %s "
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, 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:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr "Failed to add interface: %s"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr "Starting bridge %s "
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr "Done starting bridge %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr "Disassociated %s stale fixed ip(s)"
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "setting network host"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr "network allocations"
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, fuzzy, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr "networks retrieved for instance: |%(networks)s|"
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr "network deallocation for instance"
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5711,61 +5842,61 @@ msgstr ""
"|%(zone)s|. Instance is in zone |%(zone2)s|. No DNS record will be "
"created."
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, fuzzy, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr "Quota exceeded for %(pid)s, tried to allocate floating IP"
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
#, fuzzy
msgid "Failed to update usages deallocating fixed IP"
msgstr "Failed to update usages deallocating floating IP"
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr "Unable to release %s because vif doesn't exist."
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr "Leased IP |%(address)s|"
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr "IP %s leased that is not associated"
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr "IP |%s| leased that isn't allocated"
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr "Released IP |%(address)s|"
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr "IP %s released that is not associated"
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "IP %s released that was not leased"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr "%s must be an integer"
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr "Maximum allowed length for 'label' is 255."
-#: nova/network/manager.py:1023
+#: nova/network/manager.py:1025
#, python-format
msgid ""
"Subnet(s) too large, defaulting to /%s. To override, specify "
@@ -5774,16 +5905,16 @@ msgstr ""
"Subnet(s) too large, defaulting to /%s. To override, specify "
"network_size flag."
-#: nova/network/manager.py:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr "cidr already in use"
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
@@ -5792,16 +5923,16 @@ msgstr ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr "Network already exists!"
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr "Network must be disassociated from project %s before delete"
-#: nova/network/manager.py:1795
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
@@ -5809,7 +5940,7 @@ msgstr ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
-#: nova/network/manager.py:1802
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5847,80 +5978,80 @@ msgstr "_delete: %s"
msgid "Cannot delete domain |%s|"
msgstr "Cannot delete aggregate: %(id)s"
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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'"
@@ -5942,7 +6073,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Caught error: %s"
@@ -5957,46 +6088,46 @@ msgstr "Delete security group %s"
msgid "Security group id should be uuid"
msgstr "Security group id should be integer"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6010,22 +6141,22 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "This rule already exists in group %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "error setting admin password"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
#, fuzzy
msgid "Invalid version string"
msgstr "Invalid server_string: %s"
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6231,21 +6362,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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."
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr "SQL connection failed. %s attempts left."
@@ -6441,7 +6582,7 @@ msgid "Returning exception %s to caller"
msgstr "Returning exception %s to caller"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr "Failed to process message... skipping it."
@@ -6474,44 +6615,44 @@ msgstr ""
"again in %(sleep_time)d seconds."
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: nova/openstack/common/rpc/impl_qpid.py:457
#, python-format
msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
msgstr "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
#: nova/openstack/common/rpc/impl_kombu.py:627
-#: nova/openstack/common/rpc/impl_qpid.py:419
+#: nova/openstack/common/rpc/impl_qpid.py:472
#, python-format
msgid "Timed out waiting for RPC response: %s"
msgstr "Timed out waiting for RPC response: %s"
#: nova/openstack/common/rpc/impl_kombu.py:631
-#: nova/openstack/common/rpc/impl_qpid.py:423
+#: nova/openstack/common/rpc/impl_qpid.py:476
#, python-format
msgid "Failed to consume message from queue: %s"
msgstr "Failed to consume message from queue: %s"
#: nova/openstack/common/rpc/impl_kombu.py:670
-#: nova/openstack/common/rpc/impl_qpid.py:458
+#: nova/openstack/common/rpc/impl_qpid.py:511
#, python-format
msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
msgstr "Failed to publish message to topic '%(topic)s': %(err_str)s"
-#: nova/openstack/common/rpc/impl_qpid.py:352
+#: nova/openstack/common/rpc/impl_qpid.py:399
#, fuzzy, python-format
msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
msgstr "Unable to connect to AMQP server: %s"
-#: nova/openstack/common/rpc/impl_qpid.py:358
+#: nova/openstack/common/rpc/impl_qpid.py:405
#, python-format
msgid "Connected to AMQP server on %s"
msgstr "Connected to AMQP server on %s"
-#: nova/openstack/common/rpc/impl_qpid.py:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr "Re-established AMQP queues"
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr "Error processing message. Skipping it."
@@ -6739,7 +6880,7 @@ msgstr "Could not find another compute"
msgid "Exception during scheduler.run_instance"
msgstr "Exception during scheduler.run_instance"
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr "Setting instance to %(state)s state."
@@ -6864,7 +7005,7 @@ msgstr "No service for compute ID %s"
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr "Failed to schedule_%(method)s: %(ex)s"
@@ -6885,10 +7026,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
-#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+#, fuzzy, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. Extra_spec "
+"%(key)s is not in aggregate."
+msgstr "%(host_state)s fails instance_type extra_specs requirements"
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:57
+#, fuzzy, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. "
+"'%(aggregate_vals)s' do not match '%(req)s'"
msgstr "%(host_state)s fails instance_type extra_specs requirements"
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
@@ -6896,6 +7044,11 @@ msgstr "%(host_state)s fails instance_type extra_specs requirements"
msgid "%(host_state)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 "%(host_state)s fails instance_type extra_specs requirements"
+
#: nova/scheduler/filters/compute_filter.py:40
#, python-format
msgid "%(host_state)s is disabled or has not been heard from in a while"
@@ -7101,12 +7254,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7151,15 +7304,6 @@ msgstr ""
msgid "already detached"
msgstr "already detached"
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr "200 Role Match"
@@ -7172,7 +7316,7 @@ msgstr "200 No Roles"
msgid "unexpected role header"
msgstr "unexpected role header"
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
@@ -7181,58 +7325,67 @@ msgstr ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
-#: nova/tests/api/openstack/compute/test_servers.py:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Running instances: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "After terminating instances: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "Internal error"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr "After force-killing instances: %s"
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
#, fuzzy
msgid "spawn error"
msgstr "unknown guestmount error"
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+
+#: nova/tests/integrated/test_api_samples.py:183
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "Result: %(result)s is not a dict."
-#: nova/tests/integrated/test_api_samples.py:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7242,22 +7395,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: nova/tests/integrated/test_api_samples.py:208
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "Result: %(result)s is not a list."
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, fuzzy, python-format
msgid ""
"Values do not match:\n"
@@ -7330,28 +7483,36 @@ msgstr "Decoding JSON: %s"
msgid "fake vswitch not found"
msgstr "marker [%s] not found"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr "Please extend mock libvirt module to support flags"
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr "Expected a list for 'auth' parameter"
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr "Expected a function in 'auth[0]' parameter"
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr "Expected a function in 'auth[1]' parameter"
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, 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:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Removing simulated guest agent files in %s"
@@ -7361,25 +7522,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:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr "Compute driver option required, but not specified"
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr "Loading compute driver '%s'"
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Unable to load the virtualization driver: %s"
@@ -7389,42 +7550,42 @@ msgstr "Unable to load the virtualization driver: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr "Attempted to unfilter instance which is not filtered"
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr "Filters added to instance"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr "Provider Firewall Rules refreshed"
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr "Adding security group rule: %r"
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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"
@@ -7539,22 +7700,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7574,7 +7735,7 @@ msgstr "Get console output for instance %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7584,28 +7745,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr "Timeout while waiting on RPC response."
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "empty project id for instance %s"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr "Node is unknown error state."
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Unable to find host for Instance %s"
@@ -7693,15 +7854,15 @@ 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 ""
@@ -8191,17 +8352,17 @@ 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:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Updating host stats"
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "get_console_output called"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Release address %s"
@@ -8558,12 +8719,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "Using config drive"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, 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:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Creating config drive at %(path)s"
@@ -8722,7 +8883,7 @@ msgstr "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "Creating snapshot for instance %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr "Could not determine iscsi initiator name"
@@ -8741,230 +8902,236 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr "An error has occurred when calling the iscsi initiator: %s"
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, fuzzy, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr "Unable to find vbd for vdi %s"
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, 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:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Volume %s does not exist in Nexenta SA"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, 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:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, 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:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr "During wait destroy, instance disappeared."
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr "Instance destroyed successfully."
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to stop instances"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr "Error from libvirt during undefineFlags. Retrying with undefine"
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, 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:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, 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:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "Deleting instance files %(target)s"
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, 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:909
+#: nova/virt/libvirt/driver.py:962
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr "Instance soft rebooted successfully."
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr "Failed to soft reboot instance."
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr "Instance shutdown successfully."
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr "Instance rebooted successfully."
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr "Instance is running"
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr "Instance spawned successfully."
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr "Path '%(path)s' supports direct I/O"
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, 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:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, 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:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr "Creating image"
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr "Using config drive"
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
@@ -8973,20 +9140,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:1987
+#: nova/virt/libvirt/driver.py:2039
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:1991
+#: nova/virt/libvirt/driver.py:2043
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:1995
+#: nova/virt/libvirt/driver.py:2047
#, 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:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
@@ -8994,7 +9161,7 @@ msgstr ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9002,12 +9169,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -9016,27 +9190,33 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, fuzzy, python-format
msgid "Invalid exclusion expression %r"
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, fuzzy, python-format
msgid "Invalid inclusion expression %r"
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -9045,35 +9225,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:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
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:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9081,21 +9251,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9104,15 +9274,15 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:3001
+#: nova/virt/libvirt/driver.py:3077
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:3009
+#: nova/virt/libvirt/driver.py:3085
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:3046
+#: nova/virt/libvirt/driver.py:3130
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9121,7 +9291,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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9130,7 +9300,7 @@ msgstr ""
"Instance launched has CPU info:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9145,7 +9315,7 @@ msgstr ""
"\n"
"Refer to %(u)s"
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9154,22 +9324,22 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:3148
+#: nova/virt/libvirt/driver.py:3234
#, 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:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Live Migration failure: %(e)s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, 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:3425
+#: nova/virt/libvirt/driver.py:3520
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9178,38 +9348,38 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr "skipping %(path)s since it looks like volume"
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, 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:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr "Starting migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr "Instance running successfully."
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr "Starting finish_migration"
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr "Starting finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "Deleting instance files %(target)s"
@@ -9222,33 +9392,33 @@ msgstr ""
"Libvirt module could not be loaded. NWFilterFirewall will not work "
"correctly."
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr "Called setup_basic_filtering in nwfilter"
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr "Ensuring static filters"
-#: nova/virt/libvirt/firewall.py:247
+#: 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."
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, 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:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Setup Basic Filtering"
-#: nova/virt/libvirt/imagebackend.py:294
+#: nova/virt/libvirt/imagebackend.py:319
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr "You should specify libvirt_images_volume_group flag to use LVM images."
-#: nova/virt/libvirt/imagebackend.py:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr "Unknown image_type=%s"
@@ -9400,15 +9570,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 "
@@ -9417,7 +9587,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. "
@@ -9428,17 +9598,17 @@ 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:566
+#: 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"
@@ -9475,14 +9645,14 @@ msgstr "Ensuring bridge %s"
msgid "Failed while unplugging vif"
msgstr "Failed while unplugging vif"
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9490,7 +9660,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9498,7 +9668,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9506,7 +9676,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9514,12 +9684,12 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr "iSCSI device not found at %s"
-#: nova/virt/libvirt/volume.py:241
+#: nova/virt/libvirt/volume.py:243
#, fuzzy, python-format
msgid ""
"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
@@ -9528,48 +9698,48 @@ msgstr ""
"ISCSI volume not yet found at: %(mount_device)s. Will rescan & retry. "
"Try number: %(tries)s"
-#: nova/virt/libvirt/volume.py:254
+#: nova/virt/libvirt/volume.py:256
#, fuzzy, python-format
msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
msgstr "Found iSCSI node %(mount_device)s (after %(tries)s rescans)"
-#: nova/virt/libvirt/volume.py:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, python-format
msgid "%s is already mounted"
msgstr "%s is already mounted"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "iSCSI device not found at %s"
-#: nova/virt/libvirt/volume.py:562
+#: nova/virt/libvirt/volume.py:564
#, fuzzy, python-format
msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
msgstr ""
"ISCSI volume not yet found at: %(mount_device)s. Will rescan & retry. "
"Try number: %(tries)s"
-#: nova/virt/libvirt/volume.py:577
+#: nova/virt/libvirt/volume.py:579
#, fuzzy, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr "Found iSCSI node %(mount_device)s (after %(tries)s rescans)"
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
#, fuzzy
msgid "Fibre Channel device not found."
msgstr "iSCSI device not found at %s"
-#: nova/virt/libvirt/volume.py:726
+#: nova/virt/libvirt/volume.py:728
#, fuzzy, python-format
msgid ""
"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
@@ -9578,30 +9748,30 @@ msgstr ""
"ISCSI volume not yet found at: %(mount_device)s. Will rescan & retry. "
"Try number: %(tries)s"
-#: nova/virt/libvirt/volume.py:743
+#: nova/virt/libvirt/volume.py:745
#, fuzzy, python-format
msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
msgstr "Found iSCSI node %(mount_device)s (after %(tries)s rescans)"
-#: nova/virt/libvirt/volume.py:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9707,26 +9877,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "File transfer to PowerVM manager failed"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, fuzzy, python-format
msgid "Attempting to resolve %s"
msgstr "Attempting to bind NIC to %s "
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9879,32 +10049,32 @@ msgstr ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMWareESXDriver"
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "marker [%s] not found"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, 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:540
+#: nova/virt/vmwareapi/driver.py:534
#, 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:576
+#: nova/virt/vmwareapi/driver.py:570
#, 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:581
+#: nova/virt/vmwareapi/driver.py:575
#, 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:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "In vmwareapi:_poll_task, Got this error %s"
@@ -9914,39 +10084,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:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, 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:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr "There is no VM registered"
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, 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:557
+#: nova/virt/vmwareapi/fake.py:559
#, 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:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr "Session is faulty"
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr "Session Invalid"
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " No Virtual Machine has been registered yet"
@@ -9956,22 +10126,22 @@ msgstr " No Virtual Machine has been registered yet"
msgid "%(action)s %(host)s"
msgstr "action: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: nova/virt/vmwareapi/host.py:64
#, fuzzy, python-format
msgid "Set maintenance mod on %(host)s to %(mode)s"
msgstr "Setting host %(host)s to %(state)s."
-#: nova/virt/vmwareapi/io_util.py:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr "Glance image %s is in killed state"
-#: nova/virt/vmwareapi/io_util.py:120
+#: nova/virt/vmwareapi/io_util.py:126
#, python-format
msgid "Glance image %(image_id)s is in unknown state - %(state)s"
msgstr "Glance image %(image_id)s is in unknown state - %(state)s"
-#: nova/virt/vmwareapi/network_util.py:138
+#: nova/virt/vmwareapi/network_util.py:135
msgid ""
"ESX SOAP server returned an empty port group for the host system in its "
"response"
@@ -9979,17 +10149,17 @@ msgstr ""
"ESX SOAP server returned an empty port group for the host system in its "
"response"
-#: nova/virt/vmwareapi/network_util.py:164
+#: nova/virt/vmwareapi/network_util.py:161
#, python-format
msgid "Creating Port Group with name %s on the ESX host"
msgstr "Creating Port Group with name %s on the ESX host"
-#: nova/virt/vmwareapi/network_util.py:178
+#: nova/virt/vmwareapi/network_util.py:175
#, python-format
msgid "Created Port Group with name %s on the ESX host"
msgstr "Created Port Group with name %s on the ESX host"
-#: nova/virt/vmwareapi/read_write_util.py:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, fuzzy, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr "Exception during HTTP connection close in VMWareHTTpWrite. Exception is %s"
@@ -10032,17 +10202,17 @@ msgstr "Getting list of instances"
msgid "Got total of %s instances"
msgstr "Got total of %s instances"
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
#, fuzzy
msgid "Creating VM on the ESX host"
msgstr "Creating VM on the ESX host"
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
#, fuzzy
msgid "Created VM on the ESX host"
msgstr "Created VM on the ESX host"
-#: nova/virt/vmwareapi/vmops.py:230
+#: nova/virt/vmwareapi/vmops.py:231
#, fuzzy, python-format
msgid ""
"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
@@ -10051,7 +10221,7 @@ msgstr ""
"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"
-#: nova/virt/vmwareapi/vmops.py:249
+#: nova/virt/vmwareapi/vmops.py:250
#, fuzzy, python-format
msgid ""
"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -10060,7 +10230,7 @@ msgstr ""
"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"
-#: nova/virt/vmwareapi/vmops.py:258
+#: nova/virt/vmwareapi/vmops.py:259
#, fuzzy, python-format
msgid ""
"Deleting the file %(vmdk_path)s on the ESX host localstore "
@@ -10069,7 +10239,7 @@ msgstr ""
"Deleting the file %(flat_uploaded_vmdk_path)s on the ESX host localstore "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:272
+#: nova/virt/vmwareapi/vmops.py:273
#, fuzzy, python-format
msgid ""
"Deleted the file %(vmdk_path)s on the ESX host local store "
@@ -10078,7 +10248,7 @@ msgstr ""
"Deleted the file %(flat_uploaded_vmdk_path)s on the ESX host local store "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:280
+#: nova/virt/vmwareapi/vmops.py:281
#, python-format
msgid ""
"Downloading image file data %(image_ref)s to the ESX data store "
@@ -10087,7 +10257,7 @@ msgstr ""
"Downloading image file data %(image_ref)s to the ESX data store "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:300
+#: nova/virt/vmwareapi/vmops.py:301
#, fuzzy, python-format
msgid ""
"Downloaded image file data %(image_ref)s to %(upload_vmdk_name)s on the "
@@ -10096,7 +10266,7 @@ msgstr ""
"Downloaded image file data %(image_ref)s to the ESX data store "
"%(data_store_name)s"
-#: nova/virt/vmwareapi/vmops.py:314
+#: nova/virt/vmwareapi/vmops.py:315
#, fuzzy, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -10106,7 +10276,7 @@ msgstr ""
"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"
-#: nova/virt/vmwareapi/vmops.py:335
+#: nova/virt/vmwareapi/vmops.py:336
#, fuzzy, python-format
msgid ""
"Copied Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -10115,109 +10285,104 @@ msgstr ""
"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"
-#: nova/virt/vmwareapi/vmops.py:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr "Powering on the VM instance"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr "Powered on the VM instance"
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr "Creating Snapshot of the VM instance"
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr "Created Snapshot of the VM instance"
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr "Copying disk data before snapshot of the VM"
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr "Copied disk data before snapshot of the VM"
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr "Uploading image %s"
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr "Uploaded image %s"
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr "Deleting temporary vmdk file %s"
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr "Deleted temporary vmdk file %s"
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr "instance is not powered on"
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr "Rebooting guest OS of VM"
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr "Rebooted guest OS of VM"
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr "Doing hard reboot of VM"
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr "Did hard reboot of VM"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr "instance not present"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Destroying VM"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "VM destroyed"
-#: nova/virt/vmwareapi/vmops.py:652
+#: nova/virt/vmwareapi/vmops.py:641
#, fuzzy, python-format
msgid "In vmwareapi:vmops:delete, got this exception while destroying the VM: %s"
msgstr ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
-#: nova/virt/vmwareapi/vmops.py:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr "Powering off the VM"
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr "Powered off the VM"
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr "Unregistering the VM"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr "Unregistered the VM"
-#: nova/virt/vmwareapi/vmops.py:704
+#: nova/virt/vmwareapi/vmops.py:689
#, python-format
msgid ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
@@ -10226,17 +10391,17 @@ msgstr ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
-#: nova/virt/vmwareapi/vmops.py:717
+#: nova/virt/vmwareapi/vmops.py:702
#, python-format
msgid "Deleting contents of the VM from datastore %(datastore_name)s"
msgstr "Deleting contents of the VM from datastore %(datastore_name)s"
-#: nova/virt/vmwareapi/vmops.py:729
+#: nova/virt/vmwareapi/vmops.py:714
#, python-format
msgid "Deleted contents of the VM from datastore %(datastore_name)s"
msgstr "Deleted contents of the VM from datastore %(datastore_name)s"
-#: nova/virt/vmwareapi/vmops.py:734
+#: nova/virt/vmwareapi/vmops.py:719
#, python-format
msgid ""
"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
@@ -10245,94 +10410,98 @@ msgstr ""
"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
"contents from the disk: %s"
-#: nova/virt/vmwareapi/vmops.py:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr "pause not supported for vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr "unpause not supported for vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr "Suspending the VM"
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr "Suspended the VM"
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
#, fuzzy
msgid "instance is powered off and cannot be suspended."
msgstr "instance is powered off and can not be suspended."
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr "VM was already in suspended state. So returning without doing anything"
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr "Resuming the VM"
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr "Resumed the VM"
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr "instance is not in a suspended state"
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
#, fuzzy
msgid "instance is suspended and cannot be powered off."
msgstr "instance is not powered on"
-#: nova/virt/vmwareapi/vmops.py:854
+#: nova/virt/vmwareapi/vmops.py:832
#, fuzzy
msgid "VM was already in powered off state. So returning without doing anything"
msgstr "VM was already in suspended state. So returning without doing anything"
-#: nova/virt/vmwareapi/vmops.py:867
+#: nova/virt/vmwareapi/vmops.py:843
#, fuzzy
msgid "VM was already in powered on state. So returning without doing anything"
msgstr "VM was already in suspended state. So returning without doing anything"
-#: nova/virt/vmwareapi/vmops.py:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Powering off the VM"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
#, fuzzy
msgid "Powered on the VM"
msgstr "Powered off the VM"
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Updating progress to %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Creating volume: %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr "instance not present"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, fuzzy, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
@@ -10341,96 +10510,96 @@ msgstr ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Creating volume: %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Create volume from snapshot %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "Automatically hard rebooting"
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics not implemented for vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
#, fuzzy
msgid "Reconfiguring VM instance to set the machine id"
msgstr "Reconfiguring VM instance to attach the image disk"
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
#, fuzzy
msgid "Reconfigured VM instance to set the machine id"
msgstr "Reconfigured VM instance to attach the image disk"
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, 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:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, 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:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr "Creating directory with path %s"
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr "Created directory with path %s"
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr "Downloading image %s from glance image server"
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr "Downloaded image %s from glance image server"
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: nova/virt/vmwareapi/vmware_images.py:114
#, python-format
msgid "Uploading image %s to the Glance image server"
msgstr "Uploading image %s to the Glance image server"
-#: nova/virt/vmwareapi/vmware_images.py:139
+#: nova/virt/vmwareapi/vmware_images.py:140
#, python-format
msgid "Uploaded image %s to the Glance image server"
msgstr "Uploaded image %s to the Glance image server"
-#: nova/virt/vmwareapi/vmware_images.py:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr "Getting image size for the image %s"
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr "Got image size of %(size)s for the image %(image)s"
@@ -10493,7 +10662,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
@@ -10503,12 +10672,12 @@ msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgid "Unable to find iSCSI Target"
msgstr "Unable to find address %r"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10518,17 +10687,17 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Failed to find volume in db"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10537,81 +10706,74 @@ msgstr ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
-#: nova/virt/xenapi/agent.py:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
-msgstr "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr "Querying agent version"
-#: nova/virt/xenapi/agent.py:163
+#: 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:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr "Updating agent to %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
-msgstr "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr "Setting admin password"
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr "Failed to exchange keys: %(resp)r"
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr "Injecting file path: %r"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
-msgstr "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr "Resetting network"
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
@@ -10619,7 +10781,7 @@ msgstr ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
@@ -10627,15 +10789,15 @@ msgstr ""
"XenServer tools are present in this image but are not capable of network "
"injection"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr "XenServer tools are not installed in this image"
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL error: %s"
@@ -10654,54 +10816,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr "Failure while cleaning up attached VDIs"
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr "Could not determine key: %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr "Host startup on XenServer is not supported."
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
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:662
+#: nova/virt/xenapi/driver.py:672
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:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "Got exception: %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr "Calling setter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10710,7 +10872,7 @@ msgstr ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
-#: nova/virt/xenapi/host.py:68
+#: nova/virt/xenapi/host.py:70
#, python-format
msgid ""
"Instance %(name)s running on %(host)s could not be found in the database:"
@@ -10719,14 +10881,14 @@ msgstr ""
"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"
-#: nova/virt/xenapi/host.py:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Compute host %(host)s could not be found."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10758,7 +10920,7 @@ msgstr "Found non-unique network for bridge %s"
msgid "Found no network for bridge %s"
msgstr "Found no network for bridge %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10769,38 +10931,38 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-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 %s from the pool; pool not empty"
+msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-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 "Unable to eject %s from the pool; No master found"
+msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
-msgstr "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
+msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
-msgstr "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
+msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
-msgstr "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
+msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
-msgstr "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
+msgstr ""
#: nova/virt/xenapi/vif.py:101
#, python-format
@@ -10810,80 +10972,78 @@ msgstr "Found no PIF for device %s"
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"PIF %(pif_uuid)s for network %(bridge)s has VLAN id %(pif_vlan)d. "
"Expected %(vlan_num)d"
msgstr ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
-"Expected %(vlan_num)d"
-#: nova/virt/xenapi/vm_utils.py:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr "Created VM"
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr "VM destroyed"
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: nova/virt/xenapi/vm_utils.py:292 nova/virt/xenapi/vm_utils.py:307
msgid "VM already halted, skipping shutdown..."
msgstr "VM already halted, skipping shutdown..."
-#: nova/virt/xenapi/vm_utils.py:294
+#: nova/virt/xenapi/vm_utils.py:296
#, fuzzy
msgid "Shutting down VM (cleanly)"
msgstr "Shutting down VM"
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
#, fuzzy
msgid "Shutting down VM (hard)"
msgstr "Shutting down VM"
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD not found in instance %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr "VBD %s already detached"
-#: nova/virt/xenapi/vm_utils.py:367
+#: nova/virt/xenapi/vm_utils.py:369
#, python-format
msgid "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
msgstr "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
-#: nova/virt/xenapi/vm_utils.py:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Unable to unplug VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: nova/virt/xenapi/vm_utils.py:381
#, python-format
msgid "Reached maximum number of retries trying to unplug VBD %s"
msgstr "Reached maximum number of retries trying to unplug VBD %s"
-#: nova/virt/xenapi/vm_utils.py:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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 "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr "Unable to destroy VDI %s"
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10892,54 +11052,66 @@ msgstr ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
" on %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr "SR not present and could not be introduced"
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr "block device info: %s"
-#: nova/virt/xenapi/vm_utils.py:591
+#: nova/virt/xenapi/vm_utils.py:599
#, python-format
msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
msgstr "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
-#: nova/virt/xenapi/vm_utils.py:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
-msgstr "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr "Starting snapshot for VM"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr "Destroying cached VDI '%(vdi_uuid)s'"
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of 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."
-#: nova/virt/xenapi/vm_utils.py:1008
+#: nova/virt/xenapi/vm_utils.py:1028
#, python-format
msgid "Unrecognized cache_images value '%s', defaulting to True"
msgstr "Unrecognized cache_images value '%s', defaulting to True"
-#: nova/virt/xenapi/vm_utils.py:1042
+#: nova/virt/xenapi/vm_utils.py:1062
#, python-format
msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
msgstr "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
-#: nova/virt/xenapi/vm_utils.py:1054
+#: nova/virt/xenapi/vm_utils.py:1075
#, python-format
msgid ""
"download_vhd %(image_id)s, attempt %(attempt_num)d/%(max_attempts)d, "
@@ -10948,44 +11120,44 @@ msgstr ""
"download_vhd %(image_id)s, attempt %(attempt_num)d/%(max_attempts)d, "
"params: %(params)s"
-#: nova/virt/xenapi/vm_utils.py:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr "download_vhd failed: %r"
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr "Invalid value '%s' for xenapi_torrent_images"
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, 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:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, 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:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, 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:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -10994,63 +11166,63 @@ msgstr ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
-#: nova/virt/xenapi/vm_utils.py:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr "Failed to fetch glance image"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, 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:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
-msgstr "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
-msgstr "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, 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:1595
+#: nova/virt/xenapi/vm_utils.py:1623
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
@@ -11060,50 +11232,50 @@ msgstr ""
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
-#: nova/virt/xenapi/vm_utils.py:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr "Cannot find SR of content-type ISO"
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
-msgstr "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr "ISO: not iso content"
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO: iso content_type, no 'i18n-key' key"
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
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:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: SR MATCHing our criteria"
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
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:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
-msgstr "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, 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:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr "ISO: SR with local PBD"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
@@ -11112,22 +11284,22 @@ msgstr ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
-#: nova/virt/xenapi/vm_utils.py:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-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 "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "Invalid statistics data from Xenserver: %s"
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11136,66 +11308,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-msgstr "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, 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:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr "Disconnecting stale VDI %s from compute domU"
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, 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:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, 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:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11203,16 +11375,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr "Partitions:"
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sectors"
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11221,19 +11393,19 @@ msgstr ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
@@ -11242,7 +11414,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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
@@ -11251,63 +11423,63 @@ msgstr ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr "Manipulating interface files directly"
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, 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:2355
+#: nova/virt/xenapi/vm_utils.py:2409
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"
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
-msgstr "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Writing image info file: %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr "Starting instance"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr "Removing kernel/ramdisk files from dom0"
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr "Block device information present: %s"
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr "Failed to spawn, rolling back"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr "Auto configuring disk, attempting to resize partition..."
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr "Starting VM"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr "Waiting for instance state to become running"
-#: nova/virt/xenapi/vmops.py:663
+#: nova/virt/xenapi/vmops.py:660
#, python-format
msgid ""
"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
@@ -11316,185 +11488,176 @@ msgstr ""
"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
"%(version)s"
-#: nova/virt/xenapi/vmops.py:666
+#: nova/virt/xenapi/vmops.py:663
#, python-format
msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
msgstr "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
-#: nova/virt/xenapi/vmops.py:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr "Instance agent version: %s"
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr "Setting VCPU weight"
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr "Could not find VM with name %s"
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr "Finished snapshot and upload for VM"
-#: nova/virt/xenapi/vmops.py:781
+#: nova/virt/xenapi/vmops.py:778
#, python-format
msgid "Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"
msgstr "Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"
-#: nova/virt/xenapi/vmops.py:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr "Failed to transfer vhd to new host"
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Failed to terminate instance"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: nova/virt/xenapi/vmops.py:991
#, python-format
msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
msgstr "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
-#: nova/virt/xenapi/vmops.py:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr "Resize complete"
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr "Starting halted instance found during reboot"
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr "Unable to find root VBD/VDI for VM"
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "Destroying VM"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr "Using RAW or VHD, skipping kernel and ramdisk deletion"
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr "instance has a kernel or ramdisk but not both"
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "kernel/ramdisk files removed"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr "Destroying VM"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr "VM is not present, skipping destroy..."
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr "Instance is already in Rescue Mode: %s"
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
#, fuzzy
msgid "VM is not present, skipping soft delete..."
msgstr "VM is not present, skipping destroy..."
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr "Automatically hard rebooting"
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr "Injecting network info to xenstore"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr "Creating vifs"
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Created VIF %(vif_ref)s, network %(network_ref)s"
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr "Injecting hostname to xenstore"
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "Bad networks format"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr "Migrate Receive failed"
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
#, fuzzy
msgid "VM.assert_can_migrate failed"
msgstr "VM.assert_can_migratefailed"
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr "Migrate Send failed"
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Creating SR %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Introducing SR %s"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11544,25 +11707,25 @@ 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:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
-msgstr "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
+msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
-msgstr "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "LPAR instance '%(instance_name)s' could not be found"
+#: 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
@@ -11572,7 +11735,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "download_vhd failed: %r"
@@ -11582,32 +11745,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)"
@@ -11627,3 +11790,9 @@ msgstr "status must be available"
msgid "status must be 'available'"
msgstr "status must be available"
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "Certificate %(certificate_id)s not found."
+
+#~ msgid "quantum authentication failed"
+#~ msgstr "Authentication error"
+
diff --git a/nova/locale/es/LC_MESSAGES/nova.po b/nova/locale/es/LC_MESSAGES/nova.po
index 4e950a6a3..bc710cb4a 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -163,219 +163,226 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "La petición es inválida."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Entrada invalida recibida"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Volumen inválido"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Firma invalida para el usuario %s"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Protocolo IP invalido %(protocol)s"
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Tipo de contenido invalido %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Cidr %(cidr)s invalido"
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "La instacia %(instance_id)s no se esta ejecutando"
-#: nova/exception.py:308
+#: nova/exception.py:319
#, 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:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Fallo al suspender la instancia"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Fallo al suspender la instancia"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "El servicio no esta disponible en este momento"
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, 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:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "Informacion del CPU inaceptable"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -383,86 +390,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formato de disco %(disk_format)s no es aceptable"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "La imagen %(image_id)s es inaceptable: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Cidr %(cidr)s invalido"
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "instancia %s: rescatada"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -470,866 +477,903 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "configurando la red del host"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Tipo de contenido invalido %(content_type)s."
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "el grupo de volumenes %s no existe"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, 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:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, 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:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, 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:1095
+#: nova/exception.py:1110
#, 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:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1348,7 +1392,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Fallo al generar metadatos para la ip %s"
@@ -1386,148 +1430,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Se detuvo un servicio sin entrada en la base de datos"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "Depuración de la devolución de llamada: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "No se encuentra la dirección del enlace local.:%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "backend inválido: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1541,7 +1580,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 ""
@@ -1560,125 +1599,125 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Demasiados intentos de autenticacion fallidos."
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Fallo de autenticación: %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Demasiados intentos de autenticacion fallidos."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "acción: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "No encontrado: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "Sucedió un error inexperado: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "Sucedió un error inexperado: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "Ha sucedido un error desconocido. Por favor repite el intento de nuevo."
@@ -1688,265 +1727,265 @@ 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:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Creando par de claves %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Borrar para de claves %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Protocolo IP invalido %(protocol)s"
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "No hay regla para los parámetros especificados."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, 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:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Desasociar volumen %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Desasociar volumen %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "atributo no soportado: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Asignar dirección"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Liberar dirección %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Reiniciar instancia %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "Des-registrando la imagen %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "usuario o grupo no especificado"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "sólo el grupo \"all\" está soportado"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type debe ser añadir o eliminar"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Actualizando imagen %s públicamente"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instancia %s: rescatada"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "Cidr %(cidr)s invalido"
@@ -1997,43 +2036,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Capturado error: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Obtenida excepción %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2062,7 +2131,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2242,7 +2311,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2346,297 +2415,297 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Vamos a ejecutar %s insntacias..."
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2715,7 +2784,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2810,28 +2879,33 @@ msgstr "Iniciando interfaz VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, 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
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2926,13 +3000,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2982,7 +3056,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3031,7 +3105,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3060,34 +3134,34 @@ msgstr "backend inválido: %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Llanado al adquiridor %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Llanado al adquiridor %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3112,12 +3186,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr "Firma invalida para el usuario %s"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3231,18 +3299,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "configurando la red del host"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3250,7 +3335,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3268,39 +3353,46 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Reiniciar instancia %r"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Reiniciar instancia %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "acción: %s"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3365,26 +3457,26 @@ msgstr "Liberar dirección %s"
msgid "Unreserving IP address %s"
msgstr "Liberar dirección %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3428,99 +3520,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3532,31 +3629,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "Tipo de instancia inválido %(instance_type)s."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "Red a insertar en la configuración de openvpn"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "Mascara de red a insertar en la configuración de openvpn"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Lanzando VPN para %s"
@@ -3566,35 +3662,35 @@ msgstr "Lanzando VPN para %s"
msgid "Failed to load %s"
msgstr "Imposible encontrar volumen %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3615,573 +3711,584 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "recibido %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Asignar dirección"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "el grupo %s ya existe"
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reiniciar instancia %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Sucedió un error inexperado: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instancia %s: rescatada"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, 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:301
+#: nova/compute/api.py:300
#, 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:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Imposible adjuntar volumen a la instancia %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Comenzando snapshot para la VM %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, 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:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Crear Grupo de Seguridad %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Imposible destruir VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Imposible destruir VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Autorizar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4240,64 +4347,52 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4306,639 +4401,655 @@ msgstr ""
"Incapaz de emigrar la instancia %(instance_id)s al actual anfitrion "
"(%(host)s)"
-#: nova/compute/manager.py:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Fallo a reinicia la instancia"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Fallo al suspender la instancia"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Sucedió un error inexperado: %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Capturado error: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "configurando la red del host"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Reiniciando instancia %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Desasociar volumen %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Reiniciando instancia %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Ejecutando instancias: %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instancia %s: reiniciada"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instancia %s: creando snapshot"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Fallo al suspender la instancia"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Capturado error: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "instancia %s: creando snapshot"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instancia %s: obteniendo los diagnosticos"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "configurando la red del host"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "configurando la red del host"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Desvinculando volumen de instancia desconocida %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "instancia %s: arrancada"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "La instacia %(instance_id)s no esta suspendida"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "La instacia %(instance_id)s no esta suspendida"
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Borrando usuario %s"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instancia %s: arrancada"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Borrando usuario %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
@@ -5038,11 +5149,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5052,18 +5163,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5148,11 +5259,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Fallo a reinicia la instancia"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Fallo a reinicia la instancia"
@@ -5171,24 +5282,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "instancia %s: rescatada"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "instancia %s: rescatada"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "instancia %s: rescatada"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "instancia %s: rescatada"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5205,57 +5336,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5279,47 +5410,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5445,23 +5581,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5486,109 +5622,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "El pid %d está pasado, relanzando dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Excepción al recargar la configuración de dnsmasq: %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "El pid %d está pasado, relanzando dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "Matando radvd lanzado %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d corrupto, relanzando radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "backend inválido: %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Iniciando interfaz VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Iniciando interfaz puente para %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Fallo al suspender la instancia"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Iniciando interfaz puente para %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Des-registrando la imagen %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "configurando la red del host"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5596,98 +5732,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5723,79 +5859,80 @@ msgstr "recibido %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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"
@@ -5817,7 +5954,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Capturado error: %s"
@@ -5832,46 +5969,46 @@ msgstr "Borrar grupo de seguridad %s"
msgid "Security group id should be uuid"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Capturado error: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5883,21 +6020,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Esta regla ya existe en el grupo %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6101,21 +6238,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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."
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6306,7 +6453,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6335,44 +6482,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6603,7 +6750,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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."
@@ -6723,7 +6870,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6744,10 +6891,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6755,6 +6909,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6945,12 +7104,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6995,13 +7154,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7014,64 +7166,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Ejecutando instancias: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "Después de terminar las instancias: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7081,22 +7240,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7163,28 +7322,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "configurando la red del host"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7194,25 +7361,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7221,43 +7388,43 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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,22 +7538,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7406,7 +7573,7 @@ msgstr "Obtener salida de la consola para la instancia %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7416,28 +7583,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, 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:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
@@ -7522,15 +7689,15 @@ 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 ""
@@ -8015,17 +8182,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Liberar dirección %s"
@@ -8371,12 +8538,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8542,7 +8709,7 @@ msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "Creando una instancia raw"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8561,254 +8728,260 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "el grupo de volumenes %s no existe"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Conexión a libvirt rota"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instancia %s: reiniciada"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8816,73 +8989,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8890,50 +9066,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8943,67 +9119,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Fallo de autenticación: %s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -9014,33 +9190,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9186,22 +9362,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. "
@@ -9209,17 +9385,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9256,14 +9432,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9271,7 +9447,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9279,7 +9455,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9287,7 +9463,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9295,87 +9471,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "el grupo %s ya existe"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9482,26 +9658,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Falló la conexión a melange"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9648,32 +9824,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9683,39 +9859,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9724,38 +9900,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "acción: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9798,57 +9974,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9856,317 +10032,316 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "Creando una instancia raw"
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "instancia %s: rescatada"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Des-registrando la imagen %s"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "Des-registrando la imagen %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, 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:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Borrando usuario %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "instancia %s: rescatada"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Borrando usuario %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Imposible encontrar volumen %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10229,7 +10404,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10239,14 +10414,14 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Imposible encontrar volumen %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 ""
"El punto de montaje %(mountpoint)s esta unido a la instancia "
"%(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
@@ -10256,118 +10431,113 @@ msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Imposible desasociar volumen %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 ""
"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:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Llanado al adquiridor %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Fallo al generar metadatos para la ip %s"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10386,54 +10556,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "Obtenida excepción %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Lanzando NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Llamando %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Llanado al adquiridor %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Llanado al adquiridor %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10442,21 +10612,21 @@ msgstr ""
"xenapi.fake no tiene una implementación para %s o ha sido llamada con un "
"número incorrecto de argumentos"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10488,7 +10658,7 @@ msgstr "Encontrada una red no única para el puente %s"
msgid "Found no network for bridge %s"
msgstr "No se ha encontrado red para el puente %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10497,37 +10667,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Imposible desasociar volumen %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10538,76 +10708,76 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD no encontrado en la instancia %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "el grupo %s ya existe"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Imposible desconectar VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Imposible destruir VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "Creado el VBD %(vbd_ref)s para VM %(vm_ref)s, VDI %(vdi_ref)s"
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Creado el VBD %(vbd_ref)s para VM %(vm_ref)s, VDI %(vdi_ref)s"
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10616,297 +10786,311 @@ msgstr ""
"VDI creado %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) "
"sobre %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "Comenzando snapshot para la VM %s"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Pidiendo xapi a subir %(vdi_uuids)s como ID %(image_id)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destruído"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Buscando vid %s para el kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s está todavía disponible"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-escaneando SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Ejecutando pygrub contra %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen Encontrado %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "Kernel Xen no encontrado. Reiniciando HVM"
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10914,288 +11098,281 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Iniciando interfaz puente para %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Creando una instancia raw"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Fallo al suspender la instancia"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "Finalizado el snapshot y la subida de la VM %s"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "configurando la red del host"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Creando VIF para VM %(vm_ref)s, red %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Creando VIF para VM %(vm_ref)s, red %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "configurando la red del host"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Introduciendo %s..."
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11244,25 +11421,25 @@ 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:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "La instacia %(instance_id)s no esta suspendida"
+#: 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
@@ -11272,7 +11449,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "No encontrado: %s"
@@ -11282,32 +11459,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 ""
@@ -11325,3 +11502,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/fi_FI/LC_MESSAGES/nova.po b/nova/locale/fi_FI/LC_MESSAGES/nova.po
index dba6b9fa6..63e3344ec 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-18 19:07+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Finnish (Finland) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/fr/LC_MESSAGES/nova.po b/nova/locale/fr/LC_MESSAGES/nova.po
index 14cc4a438..f07b460ef 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -161,77 +161,84 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "La paire de clés de donnée n'est pas valide"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "La requête est invalide."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Entrée invalide reçue"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Volume invalide"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Signature non valide pour l'utilisateur %s"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Le protocole IP %(protocol)s est invalide"
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Le type de contenu %(content_type)s est invalide"
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Le cidr %(cidr)s est invalide"
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -240,16 +247,16 @@ msgstr ""
"Impossible d'effectuer l'action '%(action)s' sur l'ensemble "
"%(aggregate_id)s. Raison: %(reason)s."
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -258,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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "L'instance %(instance_id)s ne fonctionne pas."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, 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:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "L'instance %(instance_id)s n'est pas suspendue"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, 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:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Échec de la suspension de l'instance"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Le service est indisponible actuellement."
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, 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:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr "Le type de l'hyperviseur fourni n'est pas valide."
-#: nova/exception.py:369
+#: nova/exception.py:380
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:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -350,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:379
+#: nova/exception.py:390
#, 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:383
+#: nova/exception.py:394
#, 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:388
+#: nova/exception.py:399
#, 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:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "Info CPU inacceptable"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -384,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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -395,86 +402,86 @@ msgstr ""
"l'adaptateur physique souhaité. VSwitch est %(expected)s, mais la "
"principale association est %(actual)s."
-#: nova/exception.py:413
+#: nova/exception.py:424
#, 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:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "L'image %(image_id)s est inacceptable: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "L'instance %(instance_id)s est inacceptable: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s est inaccepatble."
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Le cidr %(cidr)s est invalide"
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: récupérée"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "La ressource n'a pas pu être trouvée."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, 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:451
+#: nova/exception.py:462
#, 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:455
+#: nova/exception.py:466
#, 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:459
+#: nova/exception.py:470
#, 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:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "Aucun disque sur %(location)s"
-#: nova/exception.py:467
+#: nova/exception.py:478
#, 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:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "L'image href %(image_href)s est invalide."
-#: nova/exception.py:475
+#: nova/exception.py:486
#, 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:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -482,65 +489,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, 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:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "Impossible de trouver le SR pour lire/écrire le VDI."
-#: nova/exception.py:494
+#: nova/exception.py:505
#, 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:498
+#: nova/exception.py:509
#, 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:502
+#: nova/exception.py:513
#, 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:506
+#: nova/exception.py:517
#, 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:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, 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:518
+#: nova/exception.py:529
#, 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:522
+#: nova/exception.py:533
#, 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:526
+#: nova/exception.py:537
#, 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:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Aucun réseau défini."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -549,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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, 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:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, 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:555
+#: nova/exception.py:566
#, 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:559
+#: nova/exception.py:570
#, 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:563
+#: nova/exception.py:574
#, 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:567
+#: nova/exception.py:578
#, 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:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
@@ -604,187 +611,182 @@ msgstr ""
"L'adresse IP fixe (%(address)s) n'existe pas dans le réseau "
"(%(network_uuid)s)."
-#: nova/exception.py:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "L'adresse IP fixe %(address)s est invalide."
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr "Aucunes IPs fixes disponibles."
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr "Aucunes IPs fixes trouvées."
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:612
+#: nova/exception.py:623
#, 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:616
+#: nova/exception.py:627
#, 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:620
+#: nova/exception.py:631
#, 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:624
+#: nova/exception.py:635
#, 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:628
+#: nova/exception.py:639
#, 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:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "L'interface %(interface)s non trouvée."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, 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:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Le certificat %(certificate_id)s non trouvé."
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, 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:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "L'hôte %(host)s ne peut pas être trouvé."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, 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:682
+#: nova/exception.py:689
#, 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:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "Le quota ne peut pas être trouvé"
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, 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:707
+#: nova/exception.py:714
#, 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:711
+#: nova/exception.py:718
#, 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:715
+#: nova/exception.py:722
#, 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:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, 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:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, 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:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -793,7 +795,7 @@ msgstr ""
"Le groupe de sécurité %(security_group_id)s est déjà associé avec "
"l'instance %(instance_id)s"
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -802,138 +804,143 @@ msgstr ""
"Le groupe de sécurité %(security_group_id)s n'est pas associé avec "
"l'instance %(instance_id)s"
-#: nova/exception.py:746
+#: nova/exception.py:753
#, 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:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, 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:764
+#: nova/exception.py:771
#, 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:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, 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:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Le type de console %(console_type)s est invalide "
-#: nova/exception.py:796
+#: nova/exception.py:803
#, 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:800
+#: nova/exception.py:807
#, 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:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Le Flavor %(flavor_id)s ne peut être trouvé."
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "Le groupe de volume %s n'existe pas"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, 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:846
+#: nova/exception.py:857
#, 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:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
@@ -942,330 +949,335 @@ msgstr ""
"Le volume %(volume_id)s n'a pas de métadonnée avec la clé "
"%(metadata_key)s."
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, 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:910
+#: nova/exception.py:921
#, 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:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:993
+#: nova/exception.py:1008
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, 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:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, 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:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, 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:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Aucun noyau trouvé pour l'image %(image_id)s."
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Aucun noyau trouvé pour l'image %(image_id)s."
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, 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:1107
+#: nova/exception.py:1122
#, 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:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Va essayer d'arrêter %s"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Va essayer d'arrêter %s"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
@@ -1274,94 +1286,126 @@ msgstr ""
"Montage du volume %(volume_id)s sur l'instance %(instance_id)s en tant "
"que %(device)s"
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, 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:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, 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:1162
+#: nova/exception.py:1177
#, 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:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, 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:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1380,7 +1424,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
@@ -1418,148 +1462,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "Démarrage du noeud %(topic)s (version %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Service détruit sans entrée dans la base de données"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "Debug dans le rappel : %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, 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:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Backend invalide : %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1573,7 +1612,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 ""
@@ -1592,11 +1631,11 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Trop d'erreur d'authentification"
-#: nova/api/ec2/__init__.py:183
+#: nova/api/ec2/__init__.py:184
#, python-format
msgid ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
@@ -1606,116 +1645,116 @@ msgstr ""
"d'authentification et sera par conséquent vérouillée pour %(lock_mins)d "
"minutes."
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Echec d'authentification : %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Trop d'erreur d'authentification"
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "action: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s\t\tval: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr ""
"Requête non authorisé pour le controlleur=%(controller)s et "
"l'action=%(action)s"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "\"Instance non trouvée\" remontée : %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "\"Volume non trouvé\" remonté : %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "\"Non trouvé\" remonté : %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "Une erreur inopinée à eu lieu. Merci d'essayer votre requête à nouveau."
@@ -1727,273 +1766,273 @@ msgstr ""
"Requête API non supportée : controleur = %(controller)s, action = "
"%(action)s"
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, 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:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Création du bi-clef %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Suppression du bi-clef %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, 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:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Le protocole IP %(protocol)s est invalide"
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "Pas de règle pour les paramètres spécifiés."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, 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:759
+#: nova/api/ec2/cloud.py:770
#, 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:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 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:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Dé-montage du volume %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "attribut non reconnu : %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Allocation d'adresse"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
#, fuzzy
msgid "No more floating IPs available"
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Désallocation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
#, fuzzy
msgid "Floating ip is already associated."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
#, fuzzy
msgid "Floating ip is not associated."
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Début de la destruction d'instance"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Re-démarrage de l'instance %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "Dé-enregitrement de l'image %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "Utilisateur ou groupe non spécifié"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "Seul le group \"tous\" est supporté"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
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:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Mis à jour de la publication de l'image %s"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: récupérée"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "Le cidr %(cidr)s est invalide"
@@ -2044,43 +2083,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Reçu exception : %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2109,7 +2178,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2289,7 +2358,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2393,297 +2462,297 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Va essayer d'arrêter %s"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2762,7 +2831,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2857,28 +2926,33 @@ msgstr "Démarrage de l'interface VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, 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
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2974,13 +3048,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3030,7 +3104,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3081,7 +3155,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3110,34 +3184,34 @@ msgstr "Backend invalide : %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Appel du getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Appel du getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3162,12 +3236,6 @@ msgstr "Aucunes IPs fixes trouvées."
msgid "Invalid timestamp for date %s"
msgstr "Signature non valide pour l'utilisateur %s"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3281,18 +3349,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "Aucun réseau défini."
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
#, python-format
-msgid "Quota for %s should be integer."
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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
@@ -3300,7 +3385,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Pas assez de parametres pour contruire un règle valide."
@@ -3319,39 +3404,46 @@ 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:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "action: %s"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3416,26 +3508,26 @@ msgstr "Désallocation de l'adresse %s"
msgid "Unreserving IP address %s"
msgstr "Désallocation de l'adresse %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3479,99 +3571,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3583,31 +3680,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "L'instance de type %(instance_type)s est invalide."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "Réseau à passer à la configuration d'openvpn"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "Masque réseau à passer à la configuration d'openvpn"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Démarrage du VPN pour %s"
@@ -3617,35 +3713,35 @@ 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:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3666,575 +3762,586 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "%s reçu"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "adresse de départ"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: 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:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: 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:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: 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:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: récupérée"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, 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:301
+#: nova/compute/api.py:300
#, 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:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Impossible d'attacher le volume à l'instance %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "Démarrage de %s instances..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Début de la destruction d'instance"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Début de la destruction d'instance"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Début de création d'instantané (snapshot) pour la VM %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Création du groupe de sécurité %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorisation du groupe de sécurité %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4293,64 +4400,52 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4359,642 +4454,658 @@ msgstr ""
"Impossible de migrer l'instance (%(instance_id)s) vers l'hôte actuel "
"(%(host)s)."
-#: nova/compute/manager.py:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, 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:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: 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:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Redémarrage de l'instance %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Dé-montage du volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Redémarrage de l'instance %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Instance actives : %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: re-démarrée"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: création d'un instantané (snapshot)"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
-#, fuzzy, python-format
-msgid "injecting file to %(path)s"
-msgstr "Injection du chemin d'accès : '%s'"
+#: nova/compute/manager.py:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: dé-récupération"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: création d'un instantané (snapshot)"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: récupération des diagnostiques"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "réglage de l'hôte réseau"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "réglage de l'hôte réseau"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "Ajout de console"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "Ajout de console"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Démontage de volume d'une instance inconnue %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "Le réseau %(network_id)s n'a pas été trouvé."
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "L'hôte %(host)s ne peut pas être trouvé."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, 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:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Suppression de l'utilisateur %s"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: a démarrée"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "L'instance de type %(instance_type)s est invalide."
@@ -5095,11 +5206,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5109,18 +5220,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5205,11 +5316,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Échec du redémarrage de l'instance"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Échec du redémarrage de l'instance"
@@ -5228,24 +5339,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "instance %s: récupérée"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "instance %s: récupérée"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "instance %s: récupérée"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "instance %s: récupérée"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5262,57 +5393,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5336,47 +5467,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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 "Impossible de déchiffrer la clef privée : %s"
-#: nova/image/s3.py:403
+#: 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:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5503,23 +5639,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5544,110 +5680,110 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d est dépassé, re-démarrage de dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "Hupping dnsmasq à renvoyé %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d est dépassé, re-démarrage de dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "La destruction de radvd à renvoyé %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d est dépassé, re-démarrage radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Backend invalide : %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Démarrage de l'interface VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, 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:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Échec de la suspension de l'instance"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Erreur au démarrage xvp : %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "réglage de l'hôte réseau"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
#, fuzzy
msgid "network allocations"
msgstr "Aucun disque sur %(location)s"
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5655,98 +5791,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "IP %s libérée qui n'était pas allouée"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5782,79 +5918,80 @@ msgstr "%s reçu"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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."
@@ -5876,7 +6013,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Erreur interceptée : %s"
@@ -5891,48 +6028,48 @@ msgstr "Suppression du groupe de sécurité %s"
msgid "Security group id should be uuid"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, 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:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Erreur interceptée : %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5946,21 +6083,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Cette règle existe déjà dans le groupe %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "Erreur au démarrage xvp : %s"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6164,21 +6301,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6369,7 +6516,7 @@ msgid "Returning exception %s to caller"
msgstr "Renvoi de l'exception %s à l'appelant"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6398,44 +6545,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6666,7 +6813,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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."
@@ -6786,7 +6933,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6807,10 +6954,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6818,6 +6972,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -7008,12 +7167,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7058,13 +7217,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7077,64 +7229,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Instance actives : %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "Après l'arrêt d'instances : %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7144,22 +7303,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7226,28 +7385,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "L'interface %(interface)s non trouvée."
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7257,25 +7424,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7284,43 +7451,43 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7434,22 +7601,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7469,7 +7636,7 @@ msgstr "Récupération de la sortie de la console de l'instance %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7479,28 +7646,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, 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:377
+#: nova/virt/baremetal/tilera.py:368
#, 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:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
@@ -7585,15 +7752,15 @@ 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 ""
@@ -8083,17 +8250,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Désallocation de l'adresse %s"
@@ -8439,12 +8606,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, 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:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injection du chemin d'accès : '%s'"
@@ -8610,7 +8777,7 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8629,258 +8796,264 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Le groupe de volume %s n'existe pas"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Connexion à libvirt interrompue"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Va essayer d'arrêter %s"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: re-démarrée"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8888,73 +9061,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8962,50 +9138,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9015,67 +9191,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Echec d'authentification : %s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -9086,33 +9262,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9258,22 +9434,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. "
@@ -9281,17 +9457,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9328,14 +9504,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9343,7 +9519,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9351,7 +9527,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9359,7 +9535,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9367,87 +9543,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "le groupe %s existe déjà"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9554,26 +9730,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "La connexion à Melange a échoué"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9720,32 +9896,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9755,39 +9931,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9796,38 +9972,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "action: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9870,57 +10046,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9928,318 +10104,317 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Démarrage de %s instances..."
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "Création d'une instance raw"
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "instance %s: récupérée"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Re-démarrage xvp"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested renvoi %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "Dé-enregitrement de l'image %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Démarrage de %s instances..."
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, 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:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "instance %s: récupérée"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Impossible de trouver le volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10302,7 +10477,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10312,14 +10487,14 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Impossible de trouver le volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 ""
"Le point de montage %(mountpoint)s a été attaché à l'instance "
"%(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10329,118 +10504,113 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Impossible de détacher le volume %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 ""
"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:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Appel du getter %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "Erreur OpenSSL : %s"
@@ -10460,54 +10630,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Impossible de déchiffrer la clef privée : %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "Reçu exception : %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Fonction non implémentée"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Appel %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Appel du getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Appel du getter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10516,21 +10686,21 @@ msgstr ""
"xenapi.fake n'a pas d'implementation pour %s ou il a été appelé avec le "
"mauvais nombre d'arguments"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "L'hôte de calcul %(host)s ne peut pas être trouvé."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10562,7 +10732,7 @@ msgstr "Réseau non unique trouvé pour le bridge %s"
msgid "Found no network for bridge %s"
msgstr "Aucun réseau trouvé pour le bridge %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10571,37 +10741,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Impossible de détacher le volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10612,76 +10782,76 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD non trouvé dans l'instance %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "le groupe %s existe déjà"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Impossible de deconnecter le VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "VBD créé %(vbd_ref)s pour VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "VBD créé %(vbd_ref)s pour VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10690,232 +10860,246 @@ msgstr ""
"VDI créé %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on"
" %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "Le quota ne peut pas être trouvé"
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
-#, fuzzy, python-format
-msgid "No primary VDI found for %(vm_ref)s"
-msgstr "Aucun id destination trouvé pour le volume %(volume_id)s."
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "Début de création d'instantané (snapshot) pour la VM %s"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-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"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, 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:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Noyau/Ramdisk VDI %s détruit"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, 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:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "Le VDI %s est toujours disponible"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-parcours de SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -10924,66 +11108,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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Connexion de VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "Connexion de VBD %s terminée."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destruction de VBD pour la VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, 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:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Exécution de pygrub sur %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen %s trouvé"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "Pas de kernel Xen trouvé. Démarrage en HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10991,291 +11175,284 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "Ecriture de la table de partitionnement %s terminée."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Création d'une instance raw"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Échec de la suspension de l'instance"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "Re-démarrage xvp"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "Fin de l'instantané et du chargement de VM %s"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "Re-démarrage xvp"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "Fichiers noyau/ramdisk supprimés"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "Re-démarrage xvp"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "réglage de l'hôte réseau"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Création du VIF pour la VM %(vm_ref)s, réseau %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Création du VIF pour la VM %(vm_ref)s, réseau %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "réglage de l'hôte réseau"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Introduction de %s"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11324,25 +11501,25 @@ 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:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-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."
+#: 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
@@ -11352,7 +11529,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "\"Non trouvé\" remonté : %s"
@@ -11362,32 +11539,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 ""
@@ -11405,3 +11582,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "Le certificat %(certificate_id)s non trouvé."
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/hr/LC_MESSAGES/nova.po b/nova/locale/hr/LC_MESSAGES/nova.po
index 1de537aba..9bbfae0f3 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Croatian "
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -158,214 +158,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -373,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -459,863 +466,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1334,7 +1378,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1371,148 +1415,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1526,7 +1565,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 ""
@@ -1545,124 +1584,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1672,261 +1711,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1975,43 +2014,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2040,7 +2109,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2220,7 +2289,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2324,290 +2393,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2686,7 +2755,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2778,28 +2847,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2891,13 +2965,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2946,7 +3020,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2994,7 +3068,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3022,34 +3096,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3074,12 +3148,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3190,18 +3258,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3209,7 +3294,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3226,36 +3311,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3320,26 +3413,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3383,98 +3476,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3486,30 +3584,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3519,35 +3617,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3568,552 +3666,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4171,686 +4280,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4950,11 +5062,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4964,18 +5076,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5057,11 +5169,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5079,24 +5191,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5113,57 +5245,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5187,47 +5319,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5352,23 +5489,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5393,109 +5530,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5503,98 +5640,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5629,78 +5766,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5722,7 +5860,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5735,45 +5873,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5785,21 +5923,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6002,21 +6140,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6206,7 +6354,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6235,44 +6383,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6497,7 +6645,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6615,7 +6763,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6636,10 +6784,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6647,6 +6802,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6837,12 +6997,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6887,13 +7047,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6906,64 +7059,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6973,22 +7133,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7054,28 +7214,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7085,25 +7253,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7112,42 +7280,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7256,22 +7424,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7291,7 +7459,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7301,28 +7469,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7407,15 +7575,15 @@ 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 ""
@@ -7897,16 +8065,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8249,12 +8417,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8412,7 +8580,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8431,250 +8599,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8682,73 +8856,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8756,50 +8933,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8809,67 +8986,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8880,33 +9057,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9052,22 +9229,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. "
@@ -9075,17 +9252,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9122,14 +9299,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9137,7 +9314,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9145,7 +9322,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9153,7 +9330,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9161,87 +9338,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9345,26 +9522,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9510,32 +9687,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9545,39 +9722,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9586,38 +9763,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9660,57 +9837,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9718,311 +9895,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10085,7 +10261,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10094,12 +10270,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10108,116 +10284,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10233,75 +10404,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10333,7 +10504,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10342,37 +10513,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10383,371 +10554,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10755,282 +10940,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11079,24 +11257,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11107,7 +11285,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11117,32 +11295,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 ""
@@ -11160,3 +11338,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/hu/LC_MESSAGES/nova.po b/nova/locale/hu/LC_MESSAGES/nova.po
index 4b1f45fe9..b4a7674a0 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hungarian "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/id/LC_MESSAGES/nova.po b/nova/locale/id/LC_MESSAGES/nova.po
index fa6db29c2..e19eaeee2 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Indonesian "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/it/LC_MESSAGES/nova.po b/nova/locale/it/LC_MESSAGES/nova.po
index 5c9963bcd..c25eb846e 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,216 +157,223 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "La richiesta non è valida."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "E' stato ricevuto un input non valido"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Volume non valido"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -374,86 +381,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "E' stato ricevuto un input non valido"
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "istanza %s: ripristino"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -461,863 +468,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1336,7 +1380,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Impossibile riavviare l'istanza"
@@ -1374,148 +1418,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Servizio terminato che non ha entry nel database"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1529,7 +1568,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 ""
@@ -1548,124 +1587,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1675,262 +1714,262 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "istanza %s: ripristino"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1980,43 +2019,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Impossibile sospendere l'istanza"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2045,7 +2114,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2225,7 +2294,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2329,293 +2398,293 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2694,7 +2763,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2788,28 +2857,33 @@ msgstr "Avviando l'interfaccia VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "istanza %s: sospensione in corso"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2903,13 +2977,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2959,7 +3033,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3007,7 +3081,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3035,34 +3109,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Dichiarando la coda %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Dichiarando la coda %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3087,12 +3161,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3203,18 +3271,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3222,7 +3307,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3239,39 +3324,46 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "E' stato riscontrato un errore sconosciuto"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3336,26 +3428,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3399,99 +3491,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3503,30 +3600,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3536,35 +3633,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3585,560 +3682,571 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "ricevuto %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "istanza %s: ripristino rete"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "istanza %s: ripristino"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Impossibile localizzare il volume %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Impossibile localizzare il volume %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4197,698 +4305,701 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Riavviando l'istanza %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Riavviando l'istanza %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Impossibile montare il volume all'istanza %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "istanza %s: ricezione diagnostiche"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "istanza %s: ripristino rete"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "istanza %s: creazione snapshot in corso"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "istanza %s: sospensione in corso"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4988,11 +5099,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5002,18 +5113,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5098,11 +5209,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Impossibile riavviare l'istanza"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Impossibile riavviare l'istanza"
@@ -5121,24 +5232,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5155,57 +5286,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5229,47 +5360,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5395,23 +5531,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5436,109 +5572,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Avviando l'interfaccia VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Impossibile sospendere l'istanza"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5546,98 +5682,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5673,79 +5809,80 @@ msgstr "ricevuto %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5767,7 +5904,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5780,45 +5917,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5830,21 +5967,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6048,21 +6185,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6253,7 +6400,7 @@ msgid "Returning exception %s to caller"
msgstr "Sollevando eccezione %s al chiamante"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6282,44 +6429,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6548,7 +6695,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6666,7 +6813,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6687,10 +6834,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6698,6 +6852,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6888,12 +7047,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6938,13 +7097,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6957,64 +7109,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7024,22 +7183,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7105,28 +7264,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7136,25 +7303,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7163,43 +7330,43 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7313,22 +7480,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7348,7 +7515,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7358,28 +7525,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Impossibile riavviare l'istanza"
@@ -7464,15 +7631,15 @@ 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 ""
@@ -7956,16 +8123,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8311,12 +8478,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8482,7 +8649,7 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8501,254 +8668,260 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: creato con successo"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8756,73 +8929,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8830,50 +9006,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8883,67 +9059,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8954,33 +9130,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9126,22 +9302,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. "
@@ -9149,17 +9325,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9196,14 +9372,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9211,7 +9387,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9219,7 +9395,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9227,7 +9403,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9235,87 +9411,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9421,26 +9597,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9586,32 +9762,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9621,39 +9797,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9662,38 +9838,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9736,57 +9912,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9794,312 +9970,311 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "istanza %s: ripristino"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, 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:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "istanza %s: ripristino"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10162,7 +10337,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10172,12 +10347,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Impossibile localizzare il volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10187,116 +10362,111 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Mountpoint %(mountpoint)s smontato dall'istanza %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10312,75 +10482,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Sollevando NotImplemented"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Chiamando %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Dichiarando la coda %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10412,7 +10582,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10421,37 +10591,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Impossibile smontare il volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10462,372 +10632,386 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s distrutti"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Cercando vdi %s per kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10835,285 +11019,278 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11163,24 +11340,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11191,7 +11368,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11201,32 +11378,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 ""
@@ -11244,3 +11421,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/it_IT/LC_MESSAGES/nova.po b/nova/locale/it_IT/LC_MESSAGES/nova.po
index 3360445c1..c3cc96df7 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian (Italy) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ja/LC_MESSAGES/nova.po b/nova/locale/ja/LC_MESSAGES/nova.po
index 7848d2409..bed8b8d39 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,217 +157,224 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Invalid signature: ユーザ %s ã®ç½²åãŒä¸æ­£ã§ã™ã€‚"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -375,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "インスタンス %s: rescued"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -462,864 +469,901 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "インスタンス %(instance_name)s ã«ãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆ %(mountpoint)s を接続(attach)ã—ã¾ã—ãŸ"
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "インスタンス %(instance_name)s: インスタンスファイル群 %(target)s を削除ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "ボリュームグループ%sãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#, fuzzy, python-format
+msgid "Key pair '%(key_name)s' already exists."
+msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "イメージをループãƒãƒƒã‚¯ %s ã«ã‚¢ã‚¿ãƒƒãƒã§ãã¾ã›ã‚“。"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "イメージをループãƒãƒƒã‚¯ %s ã«ã‚¢ã‚¿ãƒƒãƒã§ãã¾ã›ã‚“。"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1338,7 +1382,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -1376,148 +1420,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "%(topic)s ノードを開始ã—ã¦ã„ã¾ã™ (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "データベースã«ã‚¨ãƒ³ãƒˆãƒªã®å­˜åœ¨ã—ãªã„サービスを終了ã—ã¾ã™ã€‚"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "コールãƒãƒƒã‚¯ä¸­ã®ãƒ‡ãƒãƒƒã‚°: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "リンクローカルアドレスãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "%(interface)s ã®ãƒ­ãƒ¼ã‚«ãƒ«IPアドレスã®ãƒªãƒ³ã‚¯ãŒå–å¾—ã§ãã¾ã›ã‚“:%(ex)s"
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "ä¸æ­£ãªãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã™: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1531,7 +1570,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 ""
@@ -1550,125 +1589,125 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "èªè¨¼å¤±æ•—ã®å›žæ•°ãŒå¤šã™ãŽã¾ã™ã€‚"
-#: nova/api/ec2/__init__.py:183
+#: 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 "アクセスキー %(access_key)s 㯠%(failures)d 回èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã®ã§ã€%(lock_mins)d 分間ロックã—ã¾ã™ã€‚"
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "%s ã®èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "èªè¨¼å¤±æ•—ã®å›žæ•°ãŒå¤šã™ãŽã¾ã™ã€‚"
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "アクション(action): %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "引数: %(key)s\t\t値: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "コントローラ=%(controller)s ã¨ã‚¢ã‚¯ã‚·ãƒ§ãƒ³=%(action)s 用ã®è¨±å¯ã•ã‚Œã¦ã„ãªã„リクエスト"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "InstanceNotFound ãŒç™ºè¡Œã•ã‚Œã¾ã—ãŸ: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "VolumeNotFound ãŒç™ºè¡Œã•ã‚Œã¾ã—ãŸ: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "NotFound 発生: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "未知ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚å†åº¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’実行ã—ã¦ãã ã•ã„。"
@@ -1678,265 +1717,265 @@ msgstr "未知ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚å†åº¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’実行
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "未サãƒãƒ¼ãƒˆã® API リクエスト: コントローラ = %(controller)s, アクション = %(action)s"
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair: キーペア %s を作æˆã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair: キーペア %s を削除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "有効ãªãƒ«ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹ç‚ºã®å分ãªãƒ‘ラメータãŒã‚ã‚Šã¾ã›ã‚“"
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "指定ã•ã‚ŒãŸãƒ‘ラメータã«è©²å½“ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "指定ã•ã‚ŒãŸãƒ«ãƒ¼ãƒ«ã¯æ—¢ã«ã‚°ãƒ«ãƒ¼ãƒ— %s ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "アトリビュート %s ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Allocate address: アドレスを割り当ã¦ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image: イメージ %s を登録解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "ユーザã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "グループ \"all\" ã®ã¿ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type 㯠add ã¾ãŸã¯ remove ã®ä½•ã‚Œã‹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "イメージ %s ã®å…¬é–‹è¨­å®šã‚’æ›´æ–°ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "インスタンス %s: rescued"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1985,43 +2024,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "例外 %s ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2050,7 +2119,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2230,7 +2299,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2334,296 +2403,296 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2702,7 +2771,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2797,28 +2866,33 @@ msgstr "VLANインタフェース %s を開始ã—ã¾ã™ã€‚"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2913,13 +2987,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2969,7 +3043,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3018,7 +3092,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3047,34 +3121,34 @@ msgstr "ä¸æ­£ãªãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã™: %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3099,12 +3173,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr "Invalid signature: ユーザ %s ã®ç½²åãŒä¸æ­£ã§ã™ã€‚"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3217,18 +3285,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
#, python-format
-msgid "Quota for %s should be integer."
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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
@@ -3236,7 +3321,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "有効ãªãƒ«ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹ç‚ºã®å分ãªãƒ‘ラメータãŒã‚ã‚Šã¾ã›ã‚“"
@@ -3254,39 +3339,46 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "アクション(action): %s"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3351,26 +3443,26 @@ msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
msgid "Unreserving IP address %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3414,99 +3506,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "インスタンス %(instance_id)s ã«ã‚¢ãƒ‰ãƒ¬ã‚¹ %(public_ip)s を割り当ã¦"
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3518,31 +3615,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "openvpnã®è¨­å®šã«å…¥ã‚Œã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®å€¤"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "openvpnã®è¨­å®šã«å…¥ã‚Œã‚‹ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã®å€¤"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "%s 用ã®VPNã‚’èµ·å‹•ã—ã¾ã™ã€‚"
@@ -3552,35 +3648,35 @@ msgstr "%s 用ã®VPNã‚’èµ·å‹•ã—ã¾ã™ã€‚"
msgid "Failed to load %s"
msgstr "ボリューム %s ã®å­˜åœ¨ãŒç¢ºèªã§ãã¾ã›ã‚“。"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3601,569 +3697,580 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "å—信: %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "開始アドレス"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "インスタンス %s: rescued"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "インスタンスã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’超ãˆã¾ã—ãŸã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã«ãŠã„ã¦ã¯ã‚㨠%s インスタンスã—ã‹å®Ÿè¡Œã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "インスタンスã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’超ãˆã¾ã—ãŸã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã«ãŠã„ã¦ã¯ã‚㨠%s インスタンスã—ã‹å®Ÿè¡Œã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "インスタンス %s ã«ãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚’接続(attach)ã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "VM %s ã«å¯¾ã™ã‚‹ã‚¹ãƒŠãƒƒãƒ—ショットを開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group: セキュリティグループ %s を作æˆã—ã¾ã™ã€‚"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorize security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4222,706 +4329,710 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance: インスタンス %s ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance: インスタンス %s ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "インスタンス %s ã¯å®Ÿè¡Œä¸­ã§ã™ã€‚"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "インスタンス%s: å†èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "snapshotting: インスタンス %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットをå–得中"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
-#, fuzzy, python-format
-msgid "injecting file to %(path)s"
-msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
+#: nova/compute/manager.py:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "Unrescuing: インスタンス %s をアンレスキューã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "snapshotting: インスタンス %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットをå–得中"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "retrieving diagnostics: インスタンス %s ã®è¨ºæ–­æƒ…報をå–å¾—ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "コンソールを追加ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "コンソールを追加ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "ボリュームを未知ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ %s ã‹ã‚‰ãƒ‡ã‚¿ãƒƒãƒã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5021,11 +5132,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5035,18 +5146,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5129,11 +5240,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5151,24 +5262,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "インスタンス %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "インスタンス %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "インスタンス %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "インスタンス %s: rescued"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5185,57 +5316,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5259,47 +5390,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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 "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/image/s3.py:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "åˆæœŸåŒ–ベクタã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/image/s3.py:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5425,23 +5561,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5466,109 +5602,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d ã¯ç„¡åŠ¹ã§ã™ã€‚dnsmasqã‚’å†å®Ÿè¡Œã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "dnsmasqã«å¯¾ã—ã¦hupã‚’é€ä¿¡ã—ã¾ã—ãŸãŒ %s ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d ã¯ç„¡åŠ¹ã§ã™ã€‚dnsmasqã‚’å†å®Ÿè¡Œã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "radvd åœæ­¢ãŒ %s 例外を発行ã—ã¾ã—ãŸ"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d ãŒã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ã„ã‚‹ã®ã§ radvd ã‚’å†å®Ÿè¡Œã—ã¦ã„ã¾ã™â€¦"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "ä¸æ­£ãªãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã™: %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "VLANインタフェース %s を開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "xvp ã®é–‹å§‹ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5576,98 +5712,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "リースã—ã¦ã„ãªã„IP %s ãŒé–‹æ”¾ã•ã‚Œã¾ã—ãŸã€‚"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5703,79 +5839,80 @@ msgstr "å—信: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
@@ -5797,7 +5934,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
@@ -5812,46 +5949,46 @@ msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾
msgid "Security group id should be uuid"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Authorize security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s"
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5863,21 +6000,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "指定ã•ã‚ŒãŸãƒ«ãƒ¼ãƒ«ã¯æ—¢ã«ã‚°ãƒ«ãƒ¼ãƒ— %s ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "xvp ã®é–‹å§‹ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6081,21 +6218,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6285,7 +6432,7 @@ msgid "Returning exception %s to caller"
msgstr "呼ã³å‡ºã—元㫠例外 %s ã‚’è¿”å´ã—ã¾ã™ã€‚"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6314,44 +6461,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6581,7 +6728,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6699,7 +6846,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6720,10 +6867,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6731,6 +6885,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6921,12 +7080,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6971,13 +7130,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6990,64 +7142,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "インスタンス %s ã¯å®Ÿè¡Œä¸­ã§ã™ã€‚"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "インスタンス %s を終了ã—ãŸå¾Œã§ã™ã€‚"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7057,22 +7216,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7139,28 +7298,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7170,25 +7337,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7197,42 +7364,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7346,22 +7513,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7381,7 +7548,7 @@ msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–
msgid "PXE deploy failed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7391,28 +7558,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
@@ -7497,15 +7664,15 @@ 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 ""
@@ -7989,17 +8156,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
@@ -8345,12 +8512,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
@@ -8516,7 +8683,7 @@ msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8535,252 +8702,258 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "libvirt %s ã¸æŽ¥ç¶šã—ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "ボリュームグループ%sãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "libvirtã¸ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¦ã„ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "libvirt %s ã¸æŽ¥ç¶šã—ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "インスタンス%s: å†èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "データ: %(data)r, ファイルパス: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8788,73 +8961,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8862,50 +9038,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8915,67 +9091,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "%s ã®èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8986,33 +9162,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9158,22 +9334,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. "
@@ -9181,17 +9357,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9228,14 +9404,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9243,7 +9419,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9251,7 +9427,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9259,7 +9435,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9267,87 +9443,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9452,26 +9628,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9617,32 +9793,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9652,39 +9828,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9693,38 +9869,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "アクション(action): %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9767,57 +9943,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9825,318 +10001,317 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "インスタンス %s: rescued"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "xvp ã‚’å†èµ·å‹•ã—ã¦ã„ã¾ã™"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "ãƒã‚¹ãƒˆã—ãŸæˆ»ã‚Šå€¤: %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "De-registering image: イメージ %s を登録解除ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "インスタンス %s: rescued"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "ボリューム %s ã®å­˜åœ¨ãŒç¢ºèªã§ãã¾ã›ã‚“。"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10199,7 +10374,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10209,12 +10384,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "ボリューム %s ã®å­˜åœ¨ãŒç¢ºèªã§ãã¾ã›ã‚“。"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "インスタンス %(instance_name)s ã«ãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆ %(mountpoint)s を接続(attach)ã—ã¾ã—ãŸ"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
@@ -10224,116 +10399,111 @@ msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "ボリューム %s を切断(detach)ã§ãã¾ã›ã‚“"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "インスタンス %(instance_name)s ã‹ã‚‰ãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆ %(mountpoint)s を切断(detach)ã—ã¾ã—ãŸ"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL エラー: %s"
@@ -10352,75 +10522,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "例外 %s ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "NotImplemented 例外を発生ã•ã›ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake ã«ã¯ %s ãŒå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "%(localname)s %(impl)s を呼ã³å‡ºã—ã¾ã™ã€‚"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
msgstr "xenapi.fake ã« %s ã«é–¢ã™ã‚‹å®Ÿè£…ãŒãªã„ã‹ã€å¼•æ•°ã®æ•°ãŒèª¤ã£ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10452,7 +10622,7 @@ msgstr "ブリッジ %s ã«å¯¾ã—ã¦ãƒ–リッジãŒè¤‡æ•°å­˜åœ¨ã—ã¾ã™ã€‚"
msgid "Found no network for bridge %s"
msgstr "ブリッジ %s ã«å¯¾ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10461,37 +10631,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "ボリューム %s を切断(detach)ã§ãã¾ã›ã‚“"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10502,76 +10672,76 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "インスタンス %s ã®VBDãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "VBD %s ã® unplug ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "VM %(vm_ref)s, VDI %(vdi_ref)s 用仮想ブロックデãƒã‚¤ã‚¹(VBD) %(vbd_ref)s を作æˆã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "VM %(vm_ref)s, VDI %(vdi_ref)s 用仮想ブロックデãƒã‚¤ã‚¹(VBD) %(vbd_ref)s を作æˆã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10580,298 +10750,312 @@ msgstr ""
"%(sr_ref)s 上㫠VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, "
"%(read_only)s) を作æˆã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "VM %s ã«å¯¾ã™ã‚‹ã‚¹ãƒŠãƒƒãƒ—ショットを開始ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "ID %(image_id)s ã¨ã—㦠%(vdi_uuids)s ã®ã‚¢ãƒƒãƒ—ロードã®ç‚ºã« xapi ã‚’å•ã„åˆã‚ã›ã—ã¦ã„ã¾ã™"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, 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:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "ドメイン0 上㮠/boot/guest 㫠VDI %s をコピー中"
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "カーãƒãƒ«/RAMディスク VDI %s ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "PV kernelã®vdi %s ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s ã¯ä¾ç„¶ã¨ã—ã¦å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "SR %s ã‚’å†ã‚¹ã‚­ãƒ£ãƒ³ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "VBD %s を接続ã—ã¦ã„ã¾ã™â€¦ "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "仮想ブロックデãƒã‚¤ã‚¹(VBD) %s ã®æŽ¥ç¶šãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "VDI %s 用ã®ä»®æƒ³ãƒ–ロックデãƒã‚¤ã‚¹(VBD)を削除ã—ã¦ã„ã¾ã™â€¦ "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "VDI %s 用ã®ä»®æƒ³ãƒ–ロックデãƒã‚¤ã‚¹(VBD)ã®å‰Šé™¤ãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "%s ã«å¯¾ã—㦠pygrub を実行ã—ã¦ã„ã¾ã™"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Xen Kernel %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
"No Xen kernel found. Booting HVM.\r\n"
"Xen 用カーãƒãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。完全仮想化モード(HVM)ã§èµ·å‹•ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10879,290 +11063,283 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "パーティションテーブル %s ã®æ›¸ãè¾¼ã¿ãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "xvp ã‚’å†èµ·å‹•ã—ã¦ã„ã¾ã™"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "VM %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットã¨ã‚¢ãƒƒãƒ—ロードãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "xvp ã‚’å†èµ·å‹•ã—ã¦ã„ã¾ã™"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "カーãƒãƒ«/RAMディスクファイルãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "xvp ã‚’å†èµ·å‹•ã—ã¦ã„ã¾ã™"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "VM %(vm_ref)s, network %(network_ref)s 用仮想インターフェース(VIF)を作æˆã—ã¦ã„ã¾ã™ã€‚"
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "VM %(vm_ref)s, network %(network_ref)s 用仮想インターフェース(VIF)を作æˆã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "%s ã‚’ introduce ã—ã¾ã™â€¦"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11211,24 +11388,24 @@ 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:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11239,7 +11416,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "NotFound 発生: %s"
@@ -11249,32 +11426,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 ""
@@ -11292,3 +11469,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ka_GE/LC_MESSAGES/nova.po b/nova/locale/ka_GE/LC_MESSAGES/nova.po
index ecbe570c3..9bf6bb480 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Georgian (Georgia) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ko/LC_MESSAGES/nova.po b/nova/locale/ko/LC_MESSAGES/nova.po
index f956f6dfd..143e630bc 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,215 +156,222 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,291 +2392,291 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2686,7 +2755,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2779,28 +2848,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2894,13 +2968,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2950,7 +3024,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2998,7 +3072,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3026,34 +3100,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3078,12 +3152,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3194,18 +3262,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3213,7 +3298,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3230,36 +3315,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3324,26 +3417,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3387,99 +3480,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3491,30 +3589,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3524,35 +3622,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3573,554 +3671,565 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4178,694 +4287,697 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4965,11 +5077,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4979,18 +5091,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5072,11 +5184,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5094,24 +5206,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5128,57 +5260,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5202,47 +5334,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5367,23 +5504,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5408,109 +5545,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5518,98 +5655,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5644,78 +5781,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5737,7 +5875,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5750,45 +5888,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5800,21 +5938,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6017,21 +6155,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6221,7 +6369,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6250,44 +6398,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6512,7 +6660,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6630,7 +6778,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6651,10 +6799,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6662,6 +6817,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6852,12 +7012,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6902,13 +7062,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6921,64 +7074,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6988,22 +7148,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7069,28 +7229,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7100,25 +7268,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7127,42 +7295,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7276,22 +7444,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7311,7 +7479,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7321,28 +7489,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7427,15 +7595,15 @@ 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 ""
@@ -7918,16 +8086,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8272,12 +8440,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8442,7 +8610,7 @@ msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8461,250 +8629,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8712,73 +8886,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8786,50 +8963,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8839,67 +9016,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8910,33 +9087,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9082,22 +9259,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. "
@@ -9105,17 +9282,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9152,14 +9329,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9167,7 +9344,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9175,7 +9352,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9183,7 +9360,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9191,87 +9368,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9376,26 +9553,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9541,32 +9718,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9576,39 +9753,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9617,38 +9794,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9691,57 +9868,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9749,311 +9926,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10116,7 +10292,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10126,12 +10302,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
@@ -10141,116 +10317,111 @@ msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 탈착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10266,75 +10437,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10366,7 +10537,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10375,37 +10546,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10416,371 +10587,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10788,284 +10973,277 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11114,24 +11292,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11142,7 +11320,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11152,32 +11330,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 ""
@@ -11195,3 +11373,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ko_KR/LC_MESSAGES/nova.po b/nova/locale/ko_KR/LC_MESSAGES/nova.po
index a24fd9013..7f1204815 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "Keypair ë°ì´í„°ê°€ 맞지 않습니다"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "ê·¸ ìš”ì²­ì€ ë§žì§€ 않습니다."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "ìž…ë ¥ ê°’ì´ ì •í™•í•˜ì§€ 않습니다."
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ ìž ìžê¸° 실패"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ 재시작 실패"
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "CPU 정보를 ë°›ì„수 없습니다."
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s는 v4/6ì£¼ì†Œì— ë§žì§€ ì•Šì€ IP입니다."
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Disk format %(disk_format)s를 알 수 없습니다."
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "주소 할당"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "주소 릴리즈 %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,291 +2392,291 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2686,7 +2755,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2778,28 +2847,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2891,13 +2965,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2946,7 +3020,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2994,7 +3068,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3022,34 +3096,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3074,12 +3148,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3190,18 +3258,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3209,7 +3294,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3226,36 +3311,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3320,26 +3413,26 @@ msgstr "주소 릴리즈 %s"
msgid "Unreserving IP address %s"
msgstr "주소 릴리즈 %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3383,99 +3476,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ 재시작 실패"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3487,30 +3585,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3520,35 +3618,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3569,552 +3667,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4172,686 +4281,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4951,11 +5063,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4965,18 +5077,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5058,11 +5170,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5080,24 +5192,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5114,57 +5246,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5188,47 +5320,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5353,23 +5490,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5394,109 +5531,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5504,98 +5641,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5630,78 +5767,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5723,7 +5861,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5736,45 +5874,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5786,21 +5924,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6003,21 +6141,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6207,7 +6355,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6236,44 +6384,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6498,7 +6646,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6616,7 +6764,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6637,10 +6785,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6648,6 +6803,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6838,12 +6998,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6888,13 +7048,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6907,64 +7060,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6974,22 +7134,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7055,28 +7215,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7086,25 +7254,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7113,42 +7281,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7257,22 +7425,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7292,7 +7460,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7302,28 +7470,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7408,15 +7576,15 @@ 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 ""
@@ -7898,16 +8066,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8250,12 +8418,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8413,7 +8581,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8432,250 +8600,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8683,73 +8857,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8757,50 +8934,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8810,67 +8987,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8881,33 +9058,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9053,22 +9230,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. "
@@ -9076,17 +9253,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9123,14 +9300,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9138,7 +9315,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9146,7 +9323,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9154,7 +9331,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9162,87 +9339,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9346,26 +9523,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9511,32 +9688,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9546,39 +9723,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9587,38 +9764,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9661,57 +9838,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9719,311 +9896,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10086,7 +10262,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10095,12 +10271,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10109,116 +10285,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10234,75 +10405,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10334,7 +10505,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10343,37 +10514,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10384,371 +10555,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10756,283 +10941,276 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "ì¸ìŠ¤í„´ìŠ¤ 재시작 실패"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11081,24 +11259,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11109,7 +11287,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11119,32 +11297,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 ""
@@ -11162,3 +11340,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ms/LC_MESSAGES/nova.po b/nova/locale/ms/LC_MESSAGES/nova.po
index c1ba072e0..21ec75fc4 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Malay "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/nb/LC_MESSAGES/nova.po b/nova/locale/nb/LC_MESSAGES/nova.po
index 0a0d77a9c..0c9511f97 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -158,214 +158,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "Forespørselen er ugyldig."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Ugyldig IP protokoll %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -373,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "Ressurs ble ikke funnet."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -459,863 +466,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Nettverk %(network_id)s ble ikke funnet."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Nettverk %(network_id)s ble ikke funnet."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Ingen nettverk definert."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "Handlingen er ikke tillatt."
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "Kvote overskredet"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Forventet objekt av typen: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1334,7 +1378,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1371,148 +1415,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "Forventet objekt av typen: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Tjenernavn er ikke en streng eller unicode"
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1526,7 +1565,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 ""
@@ -1545,124 +1584,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr "Signatur ikke gitt"
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1672,261 +1711,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Lag nøkkelpar %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "Importer nøkkel %s"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Slett nøkkelpar %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Ugyldig IP protokoll %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "Ingen regel for de angitte parametrene."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Tildel adresse"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Frigjør adresse %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "bruker eller gruppe ikke spesifisert"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "kun gruppe \"all\" er støttet"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1976,43 +2015,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Kunne ikke hente metadata for ip:% s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "Laster utvidelse %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "Laster utvidelse %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Laster utvidelse %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2041,7 +2110,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2221,7 +2290,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2325,293 +2394,293 @@ msgid "Metadata item was not found"
msgstr "Metadata element ble ikke funnet"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2690,7 +2759,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2782,28 +2851,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Nettverk ikke funnet"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2896,13 +2970,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2952,7 +3026,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3000,7 +3074,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3028,34 +3102,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3080,12 +3154,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr "Nøkkelpar '%s' finnes allerede."
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3198,18 +3266,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "Ingen nettverk definert."
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
#, python-format
-msgid "Quota for %s should be integer."
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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
@@ -3217,7 +3302,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Ikke nok parametere for å lage en gyldig regel."
@@ -3235,36 +3320,44 @@ msgstr "Viser nettverk med id %s"
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, 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:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3329,26 +3422,26 @@ msgstr "Frigjør adresse %s"
msgid "Unreserving IP address %s"
msgstr "Frigjør adresse %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3392,98 +3485,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3495,30 +3593,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3528,35 +3626,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Kan ikke finne adressen %r"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3577,554 +3675,565 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Tildel adresse"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Nettverk ikke funnet"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4182,686 +4291,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Nettverk ikke funnet"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Kunne ikke hente metadata for ip:% s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4961,11 +5073,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4975,18 +5087,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5068,11 +5180,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5090,24 +5202,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5124,57 +5256,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5198,47 +5330,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5363,23 +5500,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5404,109 +5541,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5514,98 +5651,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5641,79 +5778,80 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5735,7 +5873,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5748,45 +5886,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5798,21 +5936,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Denne regelen eksisterer allerede i gruppen %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6015,21 +6153,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6219,7 +6367,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6248,44 +6396,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6511,7 +6659,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6629,7 +6777,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6650,10 +6798,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6661,6 +6816,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6852,12 +7012,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6902,13 +7062,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6921,64 +7074,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6988,22 +7148,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7070,28 +7230,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "Tjener ikke funnet"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7101,25 +7269,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7128,42 +7296,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7273,22 +7441,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7308,7 +7476,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7318,28 +7486,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7425,15 +7593,15 @@ 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 ""
@@ -7915,16 +8083,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Frigjør adresse %s"
@@ -8267,12 +8435,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8430,7 +8598,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8449,252 +8617,258 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8702,73 +8876,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8776,50 +8953,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8829,67 +9006,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8900,33 +9077,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9072,22 +9249,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. "
@@ -9095,17 +9272,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9142,14 +9319,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9157,7 +9334,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9165,7 +9342,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9173,7 +9350,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9181,87 +9358,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "Tjener ikke funnet"
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9365,26 +9542,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9530,32 +9707,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9565,39 +9742,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9606,38 +9783,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9680,57 +9857,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9738,311 +9915,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10105,7 +10281,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10115,12 +10291,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Kan ikke finne adressen %r"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10130,116 +10306,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr "Kan ikke finne adressen %r"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10255,75 +10426,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10355,7 +10526,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10364,37 +10535,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10405,372 +10576,386 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10778,283 +10963,276 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "Feil nettverks-format"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11103,24 +11281,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11131,7 +11309,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11141,32 +11319,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 ""
@@ -11184,3 +11362,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/nl_NL/LC_MESSAGES/nova.po b/nova/locale/nl_NL/LC_MESSAGES/nova.po
index 15eac882a..980a5e0a4 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Dutch (Netherlands) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/nova.pot b/nova/locale/nova.pot
index 85ef2a635..65a769538 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.266\n"
+"Project-Id-Version: nova jenkins.nova.propose.translation.update.282\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-06-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -457,863 +464,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1332,7 +1376,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1369,148 +1413,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1524,7 +1563,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 ""
@@ -1543,124 +1582,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1670,261 +1709,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1973,43 +2012,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2038,7 +2107,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2218,7 +2287,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2322,290 +2391,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2684,7 +2753,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2776,28 +2845,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2889,13 +2963,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2944,7 +3018,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2992,7 +3066,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3020,34 +3094,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3072,12 +3146,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3188,18 +3256,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3207,7 +3292,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3224,36 +3309,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3318,26 +3411,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3381,98 +3474,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3484,30 +3582,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3517,35 +3615,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3566,552 +3664,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4169,686 +4278,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4948,11 +5060,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4962,18 +5074,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5055,11 +5167,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5077,24 +5189,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5111,57 +5243,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5185,47 +5317,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5350,23 +5487,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5391,109 +5528,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5501,98 +5638,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5627,78 +5764,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5720,7 +5858,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5733,45 +5871,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5783,21 +5921,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6000,21 +6138,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6204,7 +6352,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6233,44 +6381,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6495,7 +6643,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6613,7 +6761,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6634,10 +6782,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6645,6 +6800,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6835,12 +6995,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6885,13 +7045,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6904,64 +7057,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6971,22 +7131,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7052,28 +7212,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7083,25 +7251,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7110,42 +7278,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7254,22 +7422,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7289,7 +7457,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7299,28 +7467,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7405,15 +7573,15 @@ 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 ""
@@ -7895,16 +8063,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8247,12 +8415,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8410,7 +8578,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8429,250 +8597,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8680,73 +8854,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8754,50 +8931,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8807,67 +8984,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8878,33 +9055,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9050,22 +9227,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. "
@@ -9073,17 +9250,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9120,14 +9297,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9135,7 +9312,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9143,7 +9320,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9151,7 +9328,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9159,87 +9336,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9343,26 +9520,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9508,32 +9685,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9543,39 +9720,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9584,38 +9761,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9658,57 +9835,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9716,311 +9893,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10083,7 +10259,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10092,12 +10268,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10106,116 +10282,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10231,75 +10402,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10331,7 +10502,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10340,37 +10511,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10381,371 +10552,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10753,282 +10938,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11077,24 +11255,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11105,7 +11283,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11115,32 +11293,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/pt/LC_MESSAGES/nova.po b/nova/locale/pt/LC_MESSAGES/nova.po
index 7e2317336..813f61199 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Portuguese "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/pt_BR/LC_MESSAGES/nova.po b/nova/locale/pt_BR/LC_MESSAGES/nova.po
index 3ef65fbfb..2e050aac6 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,217 +157,224 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "A requisição é inválida."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Dados recebidos é inválido"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Volume inválido"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Assinatura inválida para usuário %s"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Protocolo IP %(protocol)s é inválido."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Tipo de conteúdo %(content_type)s é inválido."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, 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:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Falha ao suspender instância"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Falhou em atualizar senha: %(resp)r"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Falha ao suspender instância"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Serviço está indisponível neste momento"
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -375,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formato do disco %(disk_format)s não é aceito"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Dados recebidos é inválido"
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "Instância não existe"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Volume %(volume_id)s não pode ser encontrado."
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Imagem %(image_id)s não foi encontrada."
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -462,864 +469,901 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s é necessário para criar a rede."
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Nenhuma rede definida."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, 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:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Removendo rede com id %s"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Interface %(interface)s não encontrada."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certificado %(certificate_id)s não encontrado."
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Host %(host)s não encontrado."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "Host %(host)s não encontrado."
-#: nova/exception.py:711
+#: nova/exception.py:718
#, 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:715
+#: nova/exception.py:722
#, 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:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, 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:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Tipo de conteúdo %(content_type)s é inválido."
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "Instância não existe"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, 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:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, 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:1079
+#: nova/exception.py:1094
#, 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:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Imagem %(image_id)s não foi encontrada."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, 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:1095
+#: nova/exception.py:1110
#, 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:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Começando a terminar instâncias"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Começando a terminar instâncias"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, 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:1162
+#: nova/exception.py:1177
#, 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:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Objeto esperado do tipo: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1338,7 +1382,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Falha ao obter metadados para o ip: %s"
@@ -1376,148 +1420,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Encerrado serviço que não tem entrada na base de dados"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "depuração em retorno de chamada: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Endereço para Link Local não encontrado: %s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Backend inválido: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "Objeto esperado do tipo: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1531,7 +1570,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 ""
@@ -1550,125 +1589,125 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Muitas falhas de autenticação."
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Falha de Autenticação: %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Muitas falhas de autenticação."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "ação: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "NotFound lançado: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "Erro inexperado lançado: %s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "Erro inexperado lançado: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "Ocorreu um erro desconhecido. Por favor tente sua requisição novamente."
@@ -1678,265 +1717,265 @@ 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:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Criar par de chaves %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Remover par de chaves %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Protocolo IP %(protocol)s é inválido."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "Não existe regra para os parâmetros especificados"
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Esta regra já existe no grupo %s"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Obter saída do console para instância %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Desanexar volume %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Desanexar volume %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "atributo não suportado: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Alocar endereço"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "Liberar endereço %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Começando a terminar instâncias"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Reiniciar instância %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "Removendo o registro da imagem %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "usuário ou grupo não especificado"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "apenas o grupo \"all\" é suportado"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type deve ser add ou remove"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Atualizando publicidade da imagem %s"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "Instância não existe"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1986,43 +2025,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Falha ao obter metadados para o ip: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Capturado o erro: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2051,7 +2120,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2231,7 +2300,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2335,297 +2404,297 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Começando a terminar instâncias"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2704,7 +2773,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "Instância não encontrada"
@@ -2799,28 +2868,33 @@ msgstr "Iniciando a VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Interface %(interface)s não encontrada."
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2914,13 +2988,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -2972,7 +3046,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3021,7 +3095,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3050,34 +3124,34 @@ msgstr "Backend inválido: %s"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "Chamando o pai %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Chamando o pai %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3102,12 +3176,6 @@ msgstr "Usuário %(user_id)s não foi encontrado."
msgid "Invalid timestamp for date %s"
msgstr "Assinatura inválida para usuário %s"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3222,18 +3290,35 @@ msgstr ""
msgid "Create networks failed"
msgstr "Nenhuma rede definida."
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3241,7 +3326,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3259,39 +3344,46 @@ msgstr "Mostrando rede com id %s"
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, 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:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "Iniciando instância %s"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Reiniciar instância %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "ação: %s"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3356,26 +3448,26 @@ msgstr "Liberar endereço %s"
msgid "Unreserving IP address %s"
msgstr "Liberar endereço %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3419,99 +3511,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, 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:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, 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:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3523,31 +3620,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "tipo de instância %(instance_type)s é inválida."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "Executando VPN para %s"
@@ -3557,35 +3653,35 @@ msgstr "Executando VPN para %s"
msgid "Failed to load %s"
msgstr "Não foi possível criar volume"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3606,569 +3702,580 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "recebido %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "instância %s: reset da rede"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Alocar endereço"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s já existe"
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Nenhuma rede definida."
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: 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:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reiniciar instância %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Erro inexperado lançado: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Instância não existe"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "_criar: %s"
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, 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:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Criar Grupo de Segurança %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Não é possível destruir o VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Não é possível destruir o VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Autorizada entrada do grupo de segurança %s"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4227,705 +4334,709 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Falhou ao reiniciar instância"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Falha ao suspender instância"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Erro inexperado lançado: %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "Removendo rede com id %s"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Começando a terminar instâncias"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Reconstruindo instância %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Desanexar volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Reiniciando a instância %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Reconstruindo instância %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "instância %s: fazendo um snapshot"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "Removendo imagem %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
#, fuzzy
msgid "error setting admin password"
msgstr "Configurar senha do administrador"
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Falha ao suspender instância"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "instância %s: desfazendo o resgate"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Iniciando instância %s"
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "Instância não existe"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instância %s: recuperando os diagnósticos"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "instância %s: reset da rede"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Obter saída do console para instância %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "Adicionando console"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "Adicionando console"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Desconectando volume da instância desconhecida %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "Rede %(network_id)s não foi encontrada."
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Host %(host)s não encontrado."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Falha ao obter metadados para o ip: %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "A instância %(instance_id)s não está executando."
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Remover volume com id: %s"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instância %s não encontrada"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Removendo imagem %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Iniciando instância %s"
@@ -5025,11 +5136,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5039,18 +5150,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5134,11 +5245,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Falhou ao reiniciar instância"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Falhou ao reiniciar instância"
@@ -5157,24 +5268,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "Corpo do pedido está mal formado"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "Corpo do pedido está mal formado"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "Corpo do pedido está mal formado"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "Corpo do pedido está mal formado"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5191,57 +5322,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5265,47 +5396,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5431,23 +5567,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5472,109 +5608,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d está ultrapassado, reiniciando dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d está ultrapassado, reiniciando dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d está ultrapassado, reiniciando radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Backend inválido: %s"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Iniciando a VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Iniciando instância %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Interface %(interface)s não encontrada."
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Falha ao suspender instância"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Iniciando instância %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Removendo o registro da imagem %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5582,98 +5718,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr "Rede já existe!"
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5709,79 +5845,80 @@ msgstr "_remover: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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"
@@ -5803,7 +5940,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Capturado o erro: %s"
@@ -5818,46 +5955,46 @@ msgstr "Excluir grupo de segurança %s"
msgid "Security group id should be uuid"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Capturado o erro: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5869,21 +6006,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Esta regra já existe no grupo %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "Configurar senha do administrador"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6087,21 +6224,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6291,7 +6438,7 @@ msgid "Returning exception %s to caller"
msgstr "Retornando exceção %s ao método de origem"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6320,44 +6467,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6588,7 +6735,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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"
@@ -6706,7 +6853,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6727,10 +6874,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6738,6 +6892,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6928,12 +7087,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6978,13 +7137,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6997,64 +7149,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "Erro interno"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:183
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "Endereço |%(address)s| não está alocado"
-#: nova/tests/integrated/test_api_samples.py:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7064,22 +7223,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: nova/tests/integrated/test_api_samples.py:208
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "Endereço |%(address)s| não está alocado"
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7146,28 +7305,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr "Instância não encontrada"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7177,25 +7344,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Não foi possível carregar o driver de virtualização: %s"
@@ -7205,43 +7372,43 @@ 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:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7356,22 +7523,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7391,7 +7558,7 @@ msgstr "Obter saída do console para instância %s"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7401,28 +7568,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, 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:377
+#: nova/virt/baremetal/tilera.py:368
#, 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:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
@@ -7508,15 +7675,15 @@ 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 ""
@@ -8001,17 +8168,17 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "Liberar endereço %s"
@@ -8357,12 +8524,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8528,7 +8695,7 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
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:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8547,258 +8714,264 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: criado com sucesso"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 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:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, 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:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8806,73 +8979,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, 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:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8880,50 +9056,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8933,67 +9109,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Falha de Autenticação: %s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -9004,33 +9180,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9176,22 +9352,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. "
@@ -9199,17 +9375,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9246,14 +9422,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9261,7 +9437,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9269,7 +9445,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9277,7 +9453,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9285,87 +9461,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "group %s já existe"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9471,26 +9647,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9636,32 +9812,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "nenhuma partição encontrada"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9671,39 +9847,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr "Sessão inválida"
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9712,38 +9888,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "ação: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9786,57 +9962,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9844,316 +10020,315 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Começando a terminar instâncias"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "Instância não existe"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Removendo o registro da imagem %s"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "Removendo o registro da imagem %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Começando a terminar instâncias"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Atualizando agente para %s"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Remover volume com id: %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "Instância não existe"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Remover volume com id: %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Não é possível localizar o volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr "Obtendo o tamanho da imagem para a imagem %s"
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10216,7 +10391,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10226,12 +10401,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Não é possível localizar o volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Ponto de montagem %(mountpoint)s conectada à instância %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
@@ -10241,116 +10416,111 @@ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "Não foi possível criar volume"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Ponto de montagem %(mountpoint)s desanexada da instância %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Atualizando agente para %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr "Configurar senha do administrador"
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr "Falhou em atualizar senha: %(resp)r"
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Falhou em atualizar senha: %(resp)r"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "Erro de OpenSSL: %s"
@@ -10366,54 +10536,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "Aumento não implementado"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, 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:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "Chamando %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "Chamando o pai %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Chamando o pai %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10422,21 +10592,21 @@ msgstr ""
"xenapi.fake não tem implementação para %s ou foi chamado com um número de"
" argumentos inválido"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Host %(host)s não encontrado."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10468,7 +10638,7 @@ msgstr "Encontrado múltiplas redes para a bridge %s"
msgid "Found no network for bridge %s"
msgstr "Não foi encontrada rede para bridge %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10477,37 +10647,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Não é possível desconectar o volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10518,77 +10688,77 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
#, fuzzy
msgid "Created VM"
msgstr "_criar: %s"
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "O VBD não foi encontrado na instância %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "group %s já existe"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Não é possível desconectar o VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Não é possível destruir o VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "VBD %(vbd_ref)s criado para VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "VBD %(vbd_ref)s criado para VM %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10597,299 +10767,311 @@ msgstr ""
"VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) no SR "
"%(sr_ref)s criada com sucesso."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-"Solicitando à xapi para realizar upload da imagem %(vdi_uuids)s com ID "
-"%(image_id)s"
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, 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:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk %s destruidos"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Verificando o vdi %s para kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "O VDI %s continua disponível"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-escaneando SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Conectando VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "O VDB %s foi conectado."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destruindo VBD para o VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, 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:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "Rodando pygrub novamente %s"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen encontrado: %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "Kernel Xen não encontrado. Iniciando como HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10897,286 +11079,279 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
-#, fuzzy, python-format
-msgid "Updating progress to %(progress)d"
-msgstr "Atualizando agente para %s"
+#: 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:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "Iniciando a Bridge para %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "Iniciando instância %s"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Falha ao suspender instância"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Criando a VIF para VM %(vm_ref)s, rede %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Criando a VIF para VM %(vm_ref)s, rede %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Removendo rede com id %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Introduzindo %s..."
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11225,25 +11400,25 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "A instância %(instance_id)s não está executando."
+#: 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
@@ -11253,7 +11428,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "NotFound lançado: %s"
@@ -11263,32 +11438,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 ""
@@ -11306,3 +11481,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "Certificado %(certificate_id)s não encontrado."
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ro/LC_MESSAGES/nova.po b/nova/locale/ro/LC_MESSAGES/nova.po
new file mode 100644
index 000000000..4b2a1d2a0
--- /dev/null
+++ b/nova/locale/ro/LC_MESSAGES/nova.po
@@ -0,0 +1,11346 @@
+# Romanian 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-06-19 19:38+0000\n"
+"PO-Revision-Date: 2013-06-10 18:32+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Romanian "
+"(http://www.transifex.com/projects/p/openstack/language/ro/)\n"
+"Plural-Forms: nplurals=3; "
+"plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\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:112
+msgid "An unknown exception occurred."
+msgstr ""
+
+#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+msgid "Exception in string format operation"
+msgstr ""
+
+#: nova/exception.py:153
+msgid "Unknown"
+msgstr ""
+
+#: nova/exception.py:163
+#, python-format
+msgid "Failed to encrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:167
+#, python-format
+msgid "Failed to decrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:171
+msgid "Virtual Interface creation failed"
+msgstr ""
+
+#: nova/exception.py:175
+msgid "5 attempts to create virtual interfacewith unique mac address failed"
+msgstr ""
+
+#: nova/exception.py:180
+#, python-format
+msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:185
+msgid "Not authorized."
+msgstr ""
+
+#: nova/exception.py:190
+msgid "User does not have admin privileges"
+msgstr ""
+
+#: nova/exception.py:194
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr ""
+
+#: nova/exception.py:198
+#, python-format
+msgid "Image %(image_id)s is not active."
+msgstr ""
+
+#: nova/exception.py:202
+#, python-format
+msgid "Not authorized for image %(image_id)s."
+msgstr ""
+
+#: nova/exception.py:206
+msgid "Unacceptable parameters."
+msgstr ""
+
+#: nova/exception.py:211
+msgid "Block Device Mapping is Invalid."
+msgstr ""
+
+#: nova/exception.py:215
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
+msgstr ""
+
+#: nova/exception.py:220
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
+msgstr ""
+
+#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
+#, python-format
+msgid "Volume %(volume_id)s is not attached to anything"
+msgstr ""
+
+#: nova/exception.py:240
+#, 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
+msgid "Keypair data is invalid"
+msgstr ""
+
+#: nova/exception.py:250
+msgid "The request is invalid."
+msgstr ""
+
+#: nova/exception.py:254
+msgid "Invalid input received"
+msgstr ""
+
+#: nova/exception.py:258
+msgid "Invalid volume"
+msgstr ""
+
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
+#: 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:266
+msgid "Invalid metadata size"
+msgstr ""
+
+#: nova/exception.py:270
+#, python-format
+msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
+msgstr ""
+
+#: nova/exception.py:274
+#, python-format
+msgid "Invalid IP protocol %(protocol)s."
+msgstr ""
+
+#: nova/exception.py:278
+#, python-format
+msgid "Invalid content type %(content_type)s."
+msgstr ""
+
+#: nova/exception.py:282
+#, python-format
+msgid "Invalid cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: nova/exception.py:293
+#, python-format
+msgid "%(err)s"
+msgstr ""
+
+#: nova/exception.py:297
+#, python-format
+msgid ""
+"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
+" %(reason)s."
+msgstr ""
+
+#: nova/exception.py:302
+#, python-format
+msgid "Group not valid. Reason: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: nova/exception.py:310
+#, 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
+#, python-format
+msgid "Instance %(instance_id)s is not running."
+msgstr ""
+
+#: nova/exception.py:319
+#, python-format
+msgid "Instance %(instance_id)s is not in rescue mode"
+msgstr ""
+
+#: nova/exception.py:323
+#, python-format
+msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:327
+#, python-format
+msgid "Instance %(instance_id)s is not ready"
+msgstr ""
+
+#: nova/exception.py:331
+msgid "Failed to suspend instance"
+msgstr ""
+
+#: nova/exception.py:335
+#, python-format
+msgid "Failed to resume instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:339
+#, python-format
+msgid "Failed to power on instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:343
+#, python-format
+msgid "Failed to power off instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:347
+msgid "Failed to reboot instance"
+msgstr ""
+
+#: nova/exception.py:351
+msgid "Failed to terminate instance"
+msgstr ""
+
+#: nova/exception.py:355
+msgid "Failed to deploy instance"
+msgstr ""
+
+#: nova/exception.py:359
+msgid "Service is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:363
+msgid "Insufficient compute resources."
+msgstr ""
+
+#: nova/exception.py:367
+#, python-format
+msgid "Compute service of %(host)s is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:371
+#, python-format
+msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
+msgstr ""
+
+#: nova/exception.py:376
+msgid "The supplied hypervisor type of is invalid."
+msgstr ""
+
+#: nova/exception.py:380
+msgid "The instance requires a newer hypervisor version than has been provided."
+msgstr ""
+
+#: nova/exception.py:385
+#, python-format
+msgid ""
+"The supplied disk path (%(path)s) already exists, it is expected not to "
+"exist."
+msgstr ""
+
+#: nova/exception.py:390
+#, python-format
+msgid "The supplied device path (%(path)s) is invalid."
+msgstr ""
+
+#: nova/exception.py:394
+#, python-format
+msgid "The supplied device path (%(path)s) is in use."
+msgstr ""
+
+#: nova/exception.py:399
+#, python-format
+msgid "The supplied device (%(device)s) is busy."
+msgstr ""
+
+#: nova/exception.py:403
+msgid "Unacceptable CPU info"
+msgstr ""
+
+#: nova/exception.py:407
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr ""
+
+#: nova/exception.py:411
+#, 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
+#, 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:424
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr ""
+
+#: nova/exception.py:428
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:432
+#, python-format
+msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:436
+#, python-format
+msgid "Ec2 id %(ec2_id)s is unacceptable."
+msgstr ""
+
+#: nova/exception.py:440
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:444
+#, python-format
+msgid "Invalid ID received %(id)s."
+msgstr ""
+
+#: nova/exception.py:448
+msgid "Constraint not met."
+msgstr ""
+
+#: nova/exception.py:453
+msgid "Resource could not be found."
+msgstr ""
+
+#: nova/exception.py:458
+#, python-format
+msgid "No agent-build associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:462
+#, python-format
+msgid "Volume %(volume_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:466
+#, python-format
+msgid "Snapshot %(snapshot_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:470
+#, python-format
+msgid "No target id found for volume %(volume_id)s."
+msgstr ""
+
+#: nova/exception.py:474
+#, python-format
+msgid "No disk at %(location)s"
+msgstr ""
+
+#: nova/exception.py:478
+#, python-format
+msgid "Could not find a handler for %(driver_type)s volume."
+msgstr ""
+
+#: nova/exception.py:482
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr ""
+
+#: nova/exception.py:486
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:490
+#, 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:497
+#, python-format
+msgid "Project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:501
+msgid "Cannot find SR to read/write VDI."
+msgstr ""
+
+#: nova/exception.py:505
+#, python-format
+msgid "Network %(network_id)s is duplicated."
+msgstr ""
+
+#: nova/exception.py:509
+#, python-format
+msgid "Network %(network_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:513
+#, python-format
+msgid "%(req)s is required to create a network."
+msgstr ""
+
+#: nova/exception.py:517
+#, python-format
+msgid "Network %(network_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:521
+#, python-format
+msgid "Port id %(port_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:525
+#, python-format
+msgid "Network could not be found for bridge %(bridge)s"
+msgstr ""
+
+#: nova/exception.py:529
+#, python-format
+msgid "Network could not be found for uuid %(uuid)s"
+msgstr ""
+
+#: nova/exception.py:533
+#, python-format
+msgid "Network could not be found with cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:537
+#, python-format
+msgid "Network could not be found for instance %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:541
+msgid "No networks defined."
+msgstr ""
+
+#: nova/exception.py:545
+#, 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
+msgid "Could not find the datastore reference(s) which the VM uses."
+msgstr ""
+
+#: nova/exception.py:554
+#, python-format
+msgid "Port %(port_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:558
+#, python-format
+msgid "Port %(port_id)s not usable for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:562
+#, python-format
+msgid "No free port available for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:566
+#, python-format
+msgid "No fixed IP associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:570
+#, python-format
+msgid "Fixed ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:574
+#, python-format
+msgid "Instance %(instance_uuid)s has zero fixed ips."
+msgstr ""
+
+#: nova/exception.py:578
+#, python-format
+msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
+msgstr ""
+
+#: nova/exception.py:583
+#, python-format
+msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
+msgstr ""
+
+#: nova/exception.py:587
+#, python-format
+msgid ""
+"Fixed IP address (%(address)s) does not exist in network "
+"(%(network_uuid)s)."
+msgstr ""
+
+#: nova/exception.py:592
+#, python-format
+msgid ""
+"Fixed IP address %(address)s is already in use on instance "
+"%(instance_uuid)s."
+msgstr ""
+
+#: nova/exception.py:597
+#, python-format
+msgid "More than one instance is associated with fixed ip address '%(address)s'."
+msgstr ""
+
+#: nova/exception.py:602
+#, python-format
+msgid "Fixed IP address %(address)s is invalid."
+msgstr ""
+
+#: nova/exception.py:606
+msgid "Zero fixed ips available."
+msgstr ""
+
+#: nova/exception.py:610
+msgid "Zero fixed ips could be found."
+msgstr ""
+
+#: nova/exception.py:619
+#, python-format
+msgid "Floating ip %(address)s already exists."
+msgstr ""
+
+#: nova/exception.py:623
+#, python-format
+msgid "Floating ip not found for id %(id)s."
+msgstr ""
+
+#: nova/exception.py:627
+#, python-format
+msgid "The DNS entry %(name)s already exists in domain %(domain)s."
+msgstr ""
+
+#: nova/exception.py:631
+#, python-format
+msgid "Floating ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:635
+#, python-format
+msgid "Floating ip not found for host %(host)s."
+msgstr ""
+
+#: nova/exception.py:639
+#, python-format
+msgid "Multiple floating ips are found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:643
+msgid "Floating ip pool not found."
+msgstr ""
+
+#: nova/exception.py:648
+msgid "Zero floating ips available."
+msgstr ""
+
+#: nova/exception.py:653
+#, python-format
+msgid "Floating ip %(address)s is associated."
+msgstr ""
+
+#: nova/exception.py:657
+#, python-format
+msgid "Floating ip %(address)s is not associated."
+msgstr ""
+
+#: nova/exception.py:661
+msgid "Zero floating ips exist."
+msgstr ""
+
+#: nova/exception.py:665
+#, python-format
+msgid "Interface %(interface)s not found."
+msgstr ""
+
+#: nova/exception.py:669
+msgid "Cannot disassociate auto assigined floating ip"
+msgstr ""
+
+#: nova/exception.py:673
+#, python-format
+msgid "Keypair %(name)s not found for user %(user_id)s"
+msgstr ""
+
+#: nova/exception.py:677
+#, python-format
+msgid "Service %(service_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:681
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:685
+#, python-format
+msgid "Compute host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:689
+#, python-format
+msgid "Could not find binary %(binary)s on host %(host)s."
+msgstr ""
+
+#: nova/exception.py:693
+#, python-format
+msgid "Invalid reservation expiration %(expire)s."
+msgstr ""
+
+#: nova/exception.py:697
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+
+#: nova/exception.py:702
+msgid "Quota could not be found"
+msgstr ""
+
+#: nova/exception.py:706
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr ""
+
+#: nova/exception.py:710
+#, python-format
+msgid "Quota for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:714
+#, python-format
+msgid "Quota class %(class_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:718
+#, python-format
+msgid "Quota usage for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:722
+#, python-format
+msgid "Quota reservation %(uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:726
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr ""
+
+#: nova/exception.py:730
+#, python-format
+msgid "Security group %(security_group_id)s not found."
+msgstr ""
+
+#: nova/exception.py:734
+#, python-format
+msgid "Security group %(security_group_id)s not found for project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:739
+#, python-format
+msgid "Security group with rule %(rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:743
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is already associated with the "
+"instance %(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:748
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is not associated with the instance "
+"%(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:753
+#, python-format
+msgid "Security group default rule (%rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:757
+msgid ""
+"Network requires port_security_enabled and subnet associated in order to "
+"apply security groups."
+msgstr ""
+
+#: nova/exception.py:762
+msgid "No Unique Match Found."
+msgstr ""
+
+#: nova/exception.py:767
+#, python-format
+msgid "Migration %(migration_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:771
+#, python-format
+msgid "Migration not found for instance %(instance_id)s with status %(status)s."
+msgstr ""
+
+#: nova/exception.py:776
+#, python-format
+msgid "Console pool %(pool_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:780
+#, 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:786
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:790
+#, python-format
+msgid "Console for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:794
+#, python-format
+msgid ""
+"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
+"found."
+msgstr ""
+
+#: nova/exception.py:799
+#, python-format
+msgid "Invalid console type %(console_type)s"
+msgstr ""
+
+#: nova/exception.py:803
+#, python-format
+msgid "Instance type %(instance_type_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:807
+#, python-format
+msgid "Instance type with name %(instance_type_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:812
+#, python-format
+msgid "Flavor %(flavor_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:816
+#, python-format
+msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:821
+#, python-format
+msgid "Cell %(cell_name)s doesn't exist."
+msgstr ""
+
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
+#, python-format
+msgid "Inconsistency in cell routing: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:833
+#, python-format
+msgid "Service API method not found: %(detail)s"
+msgstr ""
+
+#: nova/exception.py:837
+msgid "Timeout waiting for response from cell"
+msgstr ""
+
+#: nova/exception.py:841
+#, python-format
+msgid "Cell message has reached maximum hop count: %(hop_count)s"
+msgstr ""
+
+#: nova/exception.py:845
+msgid "No cells available matching scheduling criteria."
+msgstr ""
+
+#: nova/exception.py:849
+#, python-format
+msgid "Exception received during cell processing: %(exc_name)s."
+msgstr ""
+
+#: nova/exception.py:853
+#, python-format
+msgid "Cell is not known for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/exception.py:857
+#, python-format
+msgid "Scheduler Host Filter %(filter_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:861
+#, python-format
+msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:866
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s has no system metadata with key "
+"%(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:871
+#, python-format
+msgid ""
+"Instance Type %(instance_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+
+#: nova/exception.py:876
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr ""
+
+#: nova/exception.py:880
+msgid "Zero files could be found."
+msgstr ""
+
+#: nova/exception.py:884
+#, python-format
+msgid "Virtual switch associated with the network adapter %(adapter)s not found."
+msgstr ""
+
+#: nova/exception.py:889
+#, python-format
+msgid "Network adapter %(adapter)s could not be found."
+msgstr ""
+
+#: nova/exception.py:893
+#, python-format
+msgid "Class %(class_name)s could not be found: %(exception)s"
+msgstr ""
+
+#: nova/exception.py:897
+msgid "Action not allowed."
+msgstr ""
+
+#: nova/exception.py:901
+msgid "Rotation is not allowed for snapshots"
+msgstr ""
+
+#: nova/exception.py:905
+msgid "Rotation param is required for backup image_type"
+msgstr ""
+
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#, python-format
+msgid "Key pair '%(key_name)s' already exists."
+msgstr ""
+
+#: nova/exception.py:913
+#, python-format
+msgid "Instance %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:917
+#, python-format
+msgid "Instance Type with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:921
+#, python-format
+msgid "Instance Type with ID %(flavor_id)s already exists."
+msgstr ""
+
+#: nova/exception.py:925
+#, python-format
+msgid ""
+"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"%(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:930
+#, python-format
+msgid "%(path)s is not on shared storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:934
+#, python-format
+msgid "%(path)s is not on local storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:938
+msgid "Migration error"
+msgstr ""
+
+#: nova/exception.py:942
+msgid "Migration pre-check error"
+msgstr ""
+
+#: nova/exception.py:946
+#, python-format
+msgid "Malformed message body: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:952
+#, python-format
+msgid "Could not find config at %(path)s"
+msgstr ""
+
+#: nova/exception.py:956
+#, python-format
+msgid "Could not load paste app '%(name)s' from %(path)s"
+msgstr ""
+
+#: nova/exception.py:960
+msgid "When resizing, instances must change flavor!"
+msgstr ""
+
+#: nova/exception.py:964
+#, python-format
+msgid "Resize error: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
+msgid "Instance type's memory is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:976
+msgid "Instance type's disk is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:980
+#, python-format
+msgid "Insufficient free memory on compute node to start %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:984
+msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
+msgstr ""
+
+#: nova/exception.py:988
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr ""
+
+#: nova/exception.py:992
+msgid "Quota exceeded"
+msgstr ""
+
+#: nova/exception.py:999
+#, 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
+msgid "Maximum number of floating ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1008
+msgid "Maximum number of fixed ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1012
+#, python-format
+msgid "Maximum number of metadata items exceeds %(allowed)d"
+msgstr ""
+
+#: nova/exception.py:1016
+msgid "Personality file limit exceeded"
+msgstr ""
+
+#: nova/exception.py:1020
+msgid "Personality file path too long"
+msgstr ""
+
+#: nova/exception.py:1024
+msgid "Personality file content too long"
+msgstr ""
+
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+msgid "Maximum number of key pairs exceeded"
+msgstr ""
+
+#: nova/exception.py:1032
+msgid "Maximum number of security groups or rules exceeded"
+msgstr ""
+
+#: nova/exception.py:1036
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
+"%(reason)s."
+msgstr ""
+
+#: nova/exception.py:1041
+#, python-format
+msgid "Aggregate %(aggregate_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1045
+#, python-format
+msgid "Aggregate %(aggregate_name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1049
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1053
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1058
+#, python-format
+msgid "Aggregate %(aggregate_id)s already has host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1062
+msgid "Unable to create instance type"
+msgstr ""
+
+#: nova/exception.py:1066
+#, python-format
+msgid "Failed to set admin password on %(instance)s because %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1072
+#, python-format
+msgid "Detected existing vlan with id %(vlan)d"
+msgstr ""
+
+#: nova/exception.py:1076
+msgid "There was a conflict when trying to complete your request."
+msgstr ""
+
+#: nova/exception.py:1081
+#, python-format
+msgid "Instance %(instance_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1085
+#, python-format
+msgid "Info cache for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1090
+#, python-format
+msgid "Node %(node_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1094
+#, python-format
+msgid "Node with UUID %(node_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1098
+#, python-format
+msgid "Marker %(marker)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1102
+#, python-format
+msgid "Invalid id: %(val)s (expecting \"i-...\")."
+msgstr ""
+
+#: nova/exception.py:1106
+#, python-format
+msgid "Could not fetch image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1110
+#, python-format
+msgid "Could not upload image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1114
+#, python-format
+msgid "Task %(task_name)s is already running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1118
+#, python-format
+msgid "Task %(task_name)s is not running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1122
+#, python-format
+msgid "Instance %(instance_uuid)s is locked"
+msgstr ""
+
+#: nova/exception.py:1126
+#, python-format
+msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
+msgstr ""
+
+#: nova/exception.py:1131
+#, python-format
+msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
+msgstr ""
+
+#: nova/exception.py:1136
+#, python-format
+msgid "Failed to attach network adapter device to %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1140
+#, python-format
+msgid "Failed to detach network adapter device from %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1144
+#, 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
+msgid "User data needs to be valid base 64."
+msgstr ""
+
+#: nova/exception.py:1154
+#, python-format
+msgid ""
+"unexpected task state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1159
+#, python-format
+msgid ""
+"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
+"found"
+msgstr ""
+
+#: nova/exception.py:1164
+#, python-format
+msgid "Event %(event)s not found for action id %(action_id)s"
+msgstr ""
+
+#: nova/exception.py:1168
+#, python-format
+msgid ""
+"unexpected VM state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1173
+#, python-format
+msgid "The CA file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1177
+#, python-format
+msgid "The CRL file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1181
+msgid "Instance recreate is not implemented by this virt driver."
+msgstr ""
+
+#: nova/exception.py:1185
+#, python-format
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
+msgstr ""
+
+#: nova/exception.py:1190
+#, python-format
+msgid "%(binary)s attempted direct database access which is not allowed by policy"
+msgstr ""
+
+#: nova/exception.py:1195
+#, python-format
+msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
+msgstr ""
+
+#: nova/exception.py:1200
+#, python-format
+msgid ""
+"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
+"driver"
+msgstr ""
+
+#: nova/exception.py:1205
+#, python-format
+msgid "Invalid Base 64 data for file %(path)s"
+msgstr ""
+
+#: nova/exception.py:1209
+#, python-format
+msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1213
+#, python-format
+msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1218
+#, python-format
+msgid "Shadow table with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1223
+#, python-format
+msgid "Instance rollback performed due to: %s"
+msgstr ""
+
+#: nova/exception.py:1229
+#, python-format
+msgid "Unsupported object type %(objtype)s"
+msgstr ""
+
+#: nova/exception.py:1233
+#, python-format
+msgid "Cannot call %(method)s on orphaned %(objtype)s object"
+msgstr ""
+
+#: nova/exception.py:1237
+#, python-format
+msgid "Version %(objver)s of %(objname)s is not supported"
+msgstr ""
+
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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:172
+msgid "Notifying Schedulers of capabilities ..."
+msgstr ""
+
+#: nova/notifications.py:112 nova/notifications.py:152
+msgid "Failed to send state update notification"
+msgstr ""
+
+#: nova/notifications.py:233
+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:996
+#, python-format
+msgid "Committed reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1016
+#, python-format
+msgid "Failed to roll back reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1018
+#, 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:142
+#, python-format
+msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
+msgstr ""
+
+#: nova/utils.py:170
+#, python-format
+msgid "debug in callback: %s"
+msgstr ""
+
+#: nova/utils.py:333
+#, python-format
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:336
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:375
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:525
+#, python-format
+msgid "Expected object of type: %s"
+msgstr ""
+
+#: nova/utils.py:554
+#, python-format
+msgid "Invalid server_string: %s"
+msgstr ""
+
+#: nova/utils.py:696
+#, python-format
+msgid "timefunc: '%(name)s' took %(total_time).2f secs"
+msgstr ""
+
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: nova/utils.py:872 nova/virt/configdrive.py:177
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr ""
+
+#: nova/utils.py:1032
+#, python-format
+msgid "%s is not a string or unicode"
+msgstr ""
+
+#: nova/utils.py:1036
+#, python-format
+msgid "%(name)s has less than %(min_length)s characters."
+msgstr ""
+
+#: nova/utils.py:1041
+#, 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:402
+#, python-format
+msgid "Create snapshot of volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:427
+#, python-format
+msgid "Could not find key pair(s): %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:444
+#, python-format
+msgid "Create key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/openstack/compute/contrib/keypairs.py:93
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+msgid "Quota exceeded, too many key pairs."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:460
+#, python-format
+msgid "Import key %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:480
+#, python-format
+msgid "Delete key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+msgid "Not enough parameters, need group_name or group_id"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:627
+#, python-format
+msgid "%s Not enough parameters to build a valid rule"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:634
+#, python-format
+msgid "Invalid IP protocol %s."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+msgid "No rule for the specified parameters."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:687
+#, python-format
+msgid "%s - This rule already exists in group"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:770
+#, python-format
+msgid "Get console output for instance %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:841
+#, python-format
+msgid "Create volume from snapshot %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
+#, python-format
+msgid "Create volume of %s GB"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:872
+msgid "Delete Failed"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:885
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:896
+msgid "Attach Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
+#, python-format
+msgid "Detach volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:925
+msgid "Detach Volume Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
+#, python-format
+msgid "attribute not supported: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1083
+#, python-format
+msgid "vol = %s\n"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1243
+msgid "Allocate address"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1247
+msgid "No more floating IPs available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1251
+#, python-format
+msgid "Release address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1256
+msgid "Unable to release IP Address."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1259
+#, python-format
+msgid "Associate address %(public_ip)s to instance %(instance_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1269
+msgid "Unable to associate IP Address, no fixed_ips."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1277
+#: 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:1286
+msgid "Floating ip is already associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1289
+msgid "l3driver call to add floating ip failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1292
+msgid "Error, unable to associate floating ip."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1300
+#, python-format
+msgid "Disassociate address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1305
+msgid "Floating ip is not associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1308
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1335
+msgid "Image must be available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1373
+msgid "Going to start terminating instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1383
+#, python-format
+msgid "Reboot instance %r"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1393
+msgid "Going to stop instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1403
+msgid "Going to start instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1494
+#, python-format
+msgid "De-registering image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1510
+msgid "imageLocation is required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1529
+#, python-format
+msgid "Registered image %(image_location)s with id %(image_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1592
+msgid "user or group not specified"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1594
+msgid "only group \"all\" is supported"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1596
+msgid "operation_type must be add or remove"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1598
+#, python-format
+msgid "Updating image %s publicity"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1611
+#, python-format
+msgid "Not allowed to modify attributes for image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1639
+#, 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:1671
+#, python-format
+msgid "Couldn't stop instance with in %d sec"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1689
+#, python-format
+msgid "image of %(instance)s at %(now)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
+msgid "resource_id and tag are required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
+msgid "Expecting a list of resources"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
+msgid "Only instances implemented"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
+msgid "Expecting a list of tagSets"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1781
+msgid "Expecting key to be set"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1854
+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:362
+#, python-format
+msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
+msgstr ""
+
+#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Instance is in an invalid state for '%s'"
+msgstr ""
+
+#: nova/api/openstack/common.py:446
+msgid "Rejecting snapshot request, snapshots currently disabled"
+msgstr ""
+
+#: nova/api/openstack/common.py:448
+msgid "Instance snapshots are not permitted at this time."
+msgstr ""
+
+#: nova/api/openstack/extensions.py:196
+#, python-format
+msgid "Loaded extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/compute/plugins/__init__.py:46
+#, python-format
+msgid "Ext name: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/compute/plugins/__init__.py:47
+#, python-format
+msgid "Ext alias: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/compute/plugins/__init__.py:48
+#, python-format
+msgid "Ext description: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/compute/plugins/__init__.py:50
+#, python-format
+msgid "Ext namespace: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:240
+#, python-format
+msgid "Ext updated: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/compute/plugins/__init__.py:53
+#, python-format
+msgid "Exception loading extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:256
+#, python-format
+msgid "Loading extension %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:265
+#, python-format
+msgid "Calling extension factory %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:277
+#, python-format
+msgid "Failed to load extension %(ext_factory)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:348
+#, python-format
+msgid "Failed to load extension %(classpath)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:371
+#, python-format
+msgid "Failed to load extension %(ext_name)s:%(exc)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
+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:39
+msgid "Initializing extension manager."
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:107
+#, python-format
+msgid "Invalid is_public filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:127
+#, python-format
+msgid "Invalid minRam filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:134
+#, 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
+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
+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:161
+#, 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
+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/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:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:996
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
+msgid "HostId cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1000
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
+msgid "Personality cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1046
+#: 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:1062
+#: 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:1066
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
+msgid "Missing argument 'type' for reboot"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1088
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
+msgid "Unable to locate requested flavor."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+msgid "Resize requires a flavor change."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1101
+#: 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:1105
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
+msgid "Invalid instance image."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1126
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
+msgid "Missing imageRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1135
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
+msgid "Invalid imageRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1162
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
+msgid "Missing flavorRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1175
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
+msgid "No adminPass was specified"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1185
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
+msgid "Unable to set password on instance"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1194
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
+msgid "Unable to parse metadata key/value pairs."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1207
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
+msgid "Resize request has invalid 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+msgid "Resize requests require 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1228
+#: nova/api/openstack/compute/contrib/aggregates.py:143
+#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: 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:1316
+msgid "Invalid request body"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1234
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
+msgid "Could not parse imageRef from request."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1295
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
+msgid "Cannot find image for rebuild"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1329
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
+msgid "createImage entity requires name attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1414
+#: 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
+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
+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
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
+msgid "Cell name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:242
+msgid "Cell name cannot contain '!' or '.'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:249
+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
+msgid "No cell information in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:274
+msgid "No cell name in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:311
+msgid "Only 'updated_since' and 'project_id' are understood."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/certificates.py:71
+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:163
+msgid "Coverage not running"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+msgid "Invalid path"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+msgid "No path given for report file"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+msgid "You can't use html reports without combining"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#, python-format
+msgid "Directory conflict: %s already exists"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+msgid "Python coverage module is not installed."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#, 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
+msgid "admin password can't be changed on existing disk"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:67
+msgid "host and onSharedStorage must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:78
+#, 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
+#, 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:77
+#, 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
+msgid "Flavor not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:105
+msgid "Access list not available for public flavors."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/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:445
+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
+msgid "Quota limit must be -1 or greater."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
+#, python-format
+msgid "Bad key(s) %s in quota_set"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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:352
+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:360
+#, python-format
+msgid "Bad prefix for network in cidr %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:448
+msgid "Security group not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:452
+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/fixed_ips.py:62
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#, 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:204
+#, python-format
+msgid "Error processing message locally: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#, python-format
+msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
+msgstr ""
+
+#: nova/cells/messaging.py:380
+#, python-format
+msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
+msgstr ""
+
+#: nova/cells/messaging.py:404
+#, python-format
+msgid "Error locating next hop for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:431
+#, python-format
+msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:510
+#, python-format
+msgid "Error locating next hops for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:530
+#, python-format
+msgid "Error sending message to next hops: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:548
+#, python-format
+msgid "Error waiting for responses from neighbor cells: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:663
+#, python-format
+msgid "Unknown method '%(method)s' in compute API"
+msgstr ""
+
+#: nova/cells/messaging.py:686
+#, python-format
+msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:696
+#, python-format
+msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:823
+#, python-format
+msgid "Got update for instance: %(instance)s"
+msgstr ""
+
+#: nova/cells/messaging.py:866
+msgid "Got update to delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:881
+#, python-format
+msgid "Got broadcast to %(delete_type)s delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:895
+#, python-format
+msgid "Got message to create instance fault: %(instance_fault)s"
+msgstr ""
+
+#: nova/cells/messaging.py:916
+#, python-format
+msgid ""
+"Forcing a sync of instances, project_id=%(projid_str)s, "
+"updated_since=%(since_str)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1101
+#, python-format
+msgid "Updating parents with our capabilities: %(capabs)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1121
+#, python-format
+msgid "Updating parents with our capacities: %(capacities)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:128
+#, python-format
+msgid "Weighted cells: %(weighted_cells)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:144
+#, python-format
+msgid "Scheduling with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#, python-format
+msgid "Couldn't communicate with cell '%s'"
+msgstr ""
+
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+msgid "Couldn't communicate with any cells"
+msgstr ""
+
+#: nova/cells/scheduler.py:183
+#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
+msgid ""
+"No cells available when scheduling. Will retry in %(sleep_time)s "
+"second(s)"
+msgstr ""
+
+#: nova/cells/scheduler.py:258
+#, 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:243
+#, python-format
+msgid "start deployment for node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:251
+#, python-format
+msgid "deployment to node %s failed"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:255
+#, python-format
+msgid "deployment to node %s done"
+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:293
+msgid "Cannot run any more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:300
+#, python-format
+msgid "Can only run %s more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:309
+#, 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
+#, python-format
+msgid ""
+"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
+"properties"
+msgstr ""
+
+#: nova/compute/api.py:339
+msgid "Metadata property key blank"
+msgstr ""
+
+#: nova/compute/api.py:343
+msgid "Metadata property key greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:347
+msgid "Metadata property value greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:480
+msgid "Failed to set instance name using multi_instance_display_name_template."
+msgstr ""
+
+#: nova/compute/api.py:563
+msgid "Cannot attach one or more volumes to multiple instances"
+msgstr ""
+
+#: nova/compute/api.py:661
+#, python-format
+msgid "Going to run %s instances..."
+msgstr ""
+
+#: nova/compute/api.py:806
+#, python-format
+msgid "bdm %s"
+msgstr ""
+
+#: nova/compute/api.py:833
+#, python-format
+msgid "block_device_mapping %s"
+msgstr ""
+
+#: nova/compute/api.py:1116
+msgid "instance termination disabled"
+msgstr ""
+
+#: nova/compute/api.py:1252
+#, python-format
+msgid "instance type %(old_inst_type_id)d not found"
+msgstr ""
+
+#: nova/compute/api.py:1258
+msgid "going to delete a resizing instance"
+msgstr ""
+
+#: nova/compute/api.py:1268
+#, python-format
+msgid "instance's host %s is down, deleting from database"
+msgstr ""
+
+#: nova/compute/api.py:1311
+msgid "Going to try to soft delete instance"
+msgstr ""
+
+#: nova/compute/api.py:1335
+msgid "Going to try to terminate instance"
+msgstr ""
+
+#: nova/compute/api.py:1385
+msgid "Going to try to stop instance"
+msgstr ""
+
+#: nova/compute/api.py:1401
+msgid "Going to try to start instance"
+msgstr ""
+
+#: nova/compute/api.py:1473
+#, python-format
+msgid "Searching by: %s"
+msgstr ""
+
+#: nova/compute/api.py:1710
+#, python-format
+msgid "snapshot for %s"
+msgstr ""
+
+#: nova/compute/api.py:2046
+msgid "flavor_id is None. Assuming migration."
+msgstr ""
+
+#: nova/compute/api.py:2055
+#, 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
+#, python-format
+msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
+msgstr ""
+
+#: nova/compute/api.py:2241
+msgid "Cannot rescue a volume-backed instance"
+msgstr ""
+
+#: nova/compute/api.py:2346
+msgid "Locking"
+msgstr ""
+
+#: nova/compute/api.py:2354
+msgid "Unlocking"
+msgstr ""
+
+#: nova/compute/api.py:2426
+msgid "Volume must be attached in order to detach."
+msgstr ""
+
+#: nova/compute/api.py:2540
+#, python-format
+msgid "Going to try to live migrate instance to %s"
+msgstr ""
+
+#: nova/compute/api.py:2562
+msgid "vm evacuation scheduled"
+msgstr ""
+
+#: nova/compute/api.py:2566
+#, 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
+msgid "Keypair name contains unsafe characters"
+msgstr ""
+
+#: nova/compute/api.py:2818 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
+#, python-format
+msgid "Security group %s is not a string or unicode"
+msgstr ""
+
+#: nova/compute/api.py:2903
+#, python-format
+msgid "Security group %s cannot be empty."
+msgstr ""
+
+#: nova/compute/api.py:2911
+#, python-format
+msgid ""
+"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
+"limited to '%(allowed)'."
+msgstr ""
+
+#: nova/compute/api.py:2917
+#, python-format
+msgid "Security group %s should not be greater than 255 characters."
+msgstr ""
+
+#: nova/compute/api.py:2935
+msgid "Quota exceeded, too many security groups."
+msgstr ""
+
+#: nova/compute/api.py:2938
+#, python-format
+msgid "Create Security Group %s"
+msgstr ""
+
+#: nova/compute/api.py:2945
+#, python-format
+msgid "Security group %s already exists"
+msgstr ""
+
+#: nova/compute/api.py:2964
+#, python-format
+msgid "Unable to update system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3024
+#, python-format
+msgid "Unable to delete system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3029
+msgid "Security group is still in use"
+msgstr ""
+
+#: nova/compute/api.py:3037
+msgid "Failed to update usages deallocating security group"
+msgstr ""
+
+#: nova/compute/api.py:3040
+#, python-format
+msgid "Delete security group %s"
+msgstr ""
+
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#, python-format
+msgid "Rule (%s) not found"
+msgstr ""
+
+#: nova/compute/api.py:3133
+msgid "Quota exceeded, too many security group rules."
+msgstr ""
+
+#: nova/compute/api.py:3136
+#, python-format
+msgid "Authorize security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3145
+#, python-format
+msgid "Revoke security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3198
+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 greater than 0"
+msgstr ""
+
+#: nova/compute/flavors.py:110
+#, python-format
+msgid "'%s' argument must be 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:207
+msgid "Possibly task preempted."
+msgstr ""
+
+#: nova/compute/manager.py:379
+#, python-format
+msgid "%s is not a valid node managed by this compute host."
+msgstr ""
+
+#: nova/compute/manager.py:407
+msgid "Instance has been destroyed from under us while trying to set it to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:456
+#, 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:472
+msgid "Instance has been marked deleted already, removing it from the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:493
+msgid ""
+"Hypervisor driver does not support instance shared storage check, "
+"assuming it's not on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:499
+msgid "Failed to check if instance shared"
+msgstr ""
+
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
+msgid "Failed to revert crashed migration"
+msgstr ""
+
+#: nova/compute/manager.py:570
+msgid "Instance found in migrating state during startup. Resetting task_state"
+msgstr ""
+
+#: nova/compute/manager.py:581
+#, python-format
+msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
+msgstr ""
+
+#: nova/compute/manager.py:587
+msgid "Rebooting instance after nova-compute restart."
+msgstr ""
+
+#: nova/compute/manager.py:601
+msgid "Hypervisor driver does not support resume guests"
+msgstr ""
+
+#: nova/compute/manager.py:606
+msgid "Failed to resume instance"
+msgstr ""
+
+#: nova/compute/manager.py:616
+msgid "Hypervisor driver does not support firewall rules"
+msgstr ""
+
+#: nova/compute/manager.py:620
+#, python-format
+msgid "Lifecycle event %(state)d on VM %(uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:636
+#, python-format
+msgid "Unexpected power state %d"
+msgstr ""
+
+#: nova/compute/manager.py:648
+#, python-format
+msgid "Ignoring event %s"
+msgstr ""
+
+#: nova/compute/manager.py:686
+msgid "Checking state"
+msgstr ""
+
+#: nova/compute/manager.py:784
+#, python-format
+msgid "Volume id: %s finished being created but was not set as 'available'"
+msgstr ""
+
+#: nova/compute/manager.py:801
+#, python-format
+msgid "Setting up bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:901
+msgid "Success"
+msgstr ""
+
+#: nova/compute/manager.py:924
+msgid "Instance disappeared before we could start it"
+msgstr ""
+
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
+#, python-format
+msgid "No node specified, defaulting to %s"
+msgstr ""
+
+#: nova/compute/manager.py:995
+msgid "Failed to dealloc network for deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:1004
+msgid "Instance was deleted during spawn."
+msgstr ""
+
+#: nova/compute/manager.py:1035
+#, python-format
+msgid "Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1052
+msgid "Clean up resource before rescheduling."
+msgstr ""
+
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
+msgid "Error trying to reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1090
+msgid "Retry info not present, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1095
+msgid "No request spec, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1101
+#, python-format
+msgid "Re-scheduling %(method)s: attempt %(num)d"
+msgstr ""
+
+#: nova/compute/manager.py:1130
+msgid "Instance build timed out. Set to error state."
+msgstr ""
+
+#: nova/compute/manager.py:1140
+msgid "Starting instance..."
+msgstr ""
+
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
+msgid "Instance failed network setup"
+msgstr ""
+
+#: nova/compute/manager.py:1177
+#, python-format
+msgid "Instance network_info: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:1188
+msgid "Instance failed block device setup"
+msgstr ""
+
+#: nova/compute/manager.py:1207
+msgid "Instance failed to spawn"
+msgstr ""
+
+#: nova/compute/manager.py:1258
+msgid "Deallocating network for instance"
+msgstr ""
+
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
+msgstr ""
+
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
+#, python-format
+msgid "Ignoring DiskNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1385
+#, python-format
+msgid "Ignoring VolumeNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1392
+#, python-format
+msgid "terminating bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:1440
+#, python-format
+msgid "Ignoring volume cleanup failure due to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
+#, python-format
+msgid "%s. Setting instance vm_state to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:1654
+msgid "Rebuilding instance"
+msgstr ""
+
+#: nova/compute/manager.py:1667
+msgid "Invalid state of instance files on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:1671
+msgid "disk on shared storage, recreating using existing disk"
+msgstr ""
+
+#: nova/compute/manager.py:1675
+#, python-format
+msgid "disk not on shared storagerebuilding from: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1758
+#, python-format
+msgid "bringing vm to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1790
+#, python-format
+msgid "Detaching from volume api: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1808
+msgid "Rebooting instance"
+msgstr ""
+
+#: nova/compute/manager.py:1827
+#, python-format
+msgid ""
+"trying to reboot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1879
+msgid "Instance disappeared during reboot"
+msgstr ""
+
+#: nova/compute/manager.py:1906
+msgid "instance snapshotting"
+msgstr ""
+
+#: nova/compute/manager.py:1912
+#, python-format
+msgid ""
+"trying to snapshot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1973
+#, python-format
+msgid "Found %(num_images)d images (rotation: %(rotation)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1981
+#, python-format
+msgid "Rotating out %d backups"
+msgstr ""
+
+#: nova/compute/manager.py:1986
+#, python-format
+msgid "Deleting image %s"
+msgstr ""
+
+#: nova/compute/manager.py:2014
+#, python-format
+msgid "Failed to set admin password. Instance %s is not running"
+msgstr ""
+
+#: nova/compute/manager.py:2021
+msgid "Root password set"
+msgstr ""
+
+#: nova/compute/manager.py:2028
+msgid "set_admin_password is not implemented by this driver or guest instance."
+msgstr ""
+
+#: nova/compute/manager.py:2043
+#, python-format
+msgid "set_admin_password failed: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2050
+msgid "error setting admin password"
+msgstr ""
+
+#: nova/compute/manager.py:2063
+#, 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:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
+
+#: nova/compute/manager.py:2088
+msgid ""
+"Unable to find a different image to use for rescue VM, using instance's "
+"current image"
+msgstr ""
+
+#: nova/compute/manager.py:2101
+msgid "Rescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2120
+msgid "Error trying to Rescue Instance"
+msgstr ""
+
+#: nova/compute/manager.py:2124
+#, python-format
+msgid "Driver Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2142
+msgid "Unrescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2163
+#, python-format
+msgid "Changing instance metadata according to %r"
+msgstr ""
+
+#: nova/compute/manager.py:2385
+#, python-format
+msgid "Updating instance to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:2419
+msgid "Instance has no source host"
+msgstr ""
+
+#: nova/compute/manager.py:2425
+msgid "destination same as source!"
+msgstr ""
+
+#: nova/compute/manager.py:2447
+msgid "Migrating"
+msgstr ""
+
+#: nova/compute/manager.py:2698
+#, python-format
+msgid "Failed to rollback quota for failed finish_resize: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2761
+msgid "Pausing"
+msgstr ""
+
+#: nova/compute/manager.py:2779
+msgid "Unpausing"
+msgstr ""
+
+#: nova/compute/manager.py:2818
+msgid "Retrieving diagnostics"
+msgstr ""
+
+#: nova/compute/manager.py:2849
+msgid "Resuming"
+msgstr ""
+
+#: nova/compute/manager.py:2869
+msgid "Reset network"
+msgstr ""
+
+#: nova/compute/manager.py:2874
+msgid "Inject network info"
+msgstr ""
+
+#: nova/compute/manager.py:2877
+#, python-format
+msgid "network_info to inject: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:2894
+msgid "Get console output"
+msgstr ""
+
+#: nova/compute/manager.py:2921
+msgid "Getting vnc console"
+msgstr ""
+
+#: nova/compute/manager.py:2956
+msgid "Getting spice console"
+msgstr ""
+
+#: nova/compute/manager.py:3004
+#, python-format
+msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3055
+#, python-format
+msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3065
+#, python-format
+msgid ""
+"Failed to connect to volume %(volume_id)s while attaching at "
+"%(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3081
+#, python-format
+msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3112
+#, python-format
+msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3123
+msgid "Detaching volume from unknown instance"
+msgstr ""
+
+#: nova/compute/manager.py:3130
+#, python-format
+msgid "Failed to detach volume %(volume_id)s from %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3154
+msgid "Updating volume usage cache with totals"
+msgstr ""
+
+#: nova/compute/manager.py:3190
+#, python-format
+msgid "allocate_port_for_instance returned %(ports)s ports"
+msgstr ""
+
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
+
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3377
+#, python-format
+msgid "Pre live migration failed at %s"
+msgstr ""
+
+#: nova/compute/manager.py:3405
+msgid "_post_live_migration() is started.."
+msgstr ""
+
+#: nova/compute/manager.py:3460
+#, python-format
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
+
+#: nova/compute/manager.py:3462
+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:3477
+msgid "Post operation of migration started"
+msgstr ""
+
+#: nova/compute/manager.py:3509
+#, python-format
+msgid "Failed to get compute_info for %s"
+msgstr ""
+
+#: nova/compute/manager.py:3638
+msgid "Updated the info_cache for instance"
+msgstr ""
+
+#: nova/compute/manager.py:3688
+#, python-format
+msgid ""
+"Found %(migration_count)d unconfirmed migrations older than "
+"%(confirm_window)d seconds"
+msgstr ""
+
+#: nova/compute/manager.py:3693
+#, python-format
+msgid "Setting migration %(migration_id)s to error: %(reason)s"
+msgstr ""
+
+#: nova/compute/manager.py:3702
+#, python-format
+msgid ""
+"Automatically confirming migration %(migration_id)s for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3715
+msgid "In ERROR state"
+msgstr ""
+
+#: nova/compute/manager.py:3722
+#, python-format
+msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
+msgstr ""
+
+#: nova/compute/manager.py:3733
+#, python-format
+msgid "Error auto-confirming resize: %s. Will retry later."
+msgstr ""
+
+#: nova/compute/manager.py:3749
+#, 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:3769
+#, python-format
+msgid "Failed to generate usage audit for instance on host %s"
+msgstr ""
+
+#: nova/compute/manager.py:3793
+msgid "Updating bandwidth usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3896
+msgid "Updating volume usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3910
+msgid "Updating host status"
+msgstr ""
+
+#: nova/compute/manager.py:3937
+#, python-format
+msgid ""
+"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
+"the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
+msgid "During sync_power_state the instance has a pending task. Skip."
+msgstr ""
+
+#: nova/compute/manager.py:3980
+#, 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:4017
+msgid "Instance shutdown by itself. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
+msgid "error during stop() in sync_power_state."
+msgstr ""
+
+#: nova/compute/manager.py:4033
+msgid "Instance is suspended unexpectedly. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4049
+msgid "Instance is paused unexpectedly. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4055
+msgid "Instance is unexpectedly not found. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4061
+msgid "Instance is not stopped. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4077
+msgid "Instance is not (soft-)deleted."
+msgstr ""
+
+#: nova/compute/manager.py:4085
+msgid "CONF.reclaim_instance_interval <= 0, skipping..."
+msgstr ""
+
+#: nova/compute/manager.py:4098
+msgid "Reclaiming deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:4125
+#, python-format
+msgid "Deleting orphan compute node %s"
+msgstr ""
+
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
+#, python-format
+msgid "No service record for host %s"
+msgstr ""
+
+#: nova/compute/manager.py:4175
+#, python-format
+msgid ""
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4181
+#, python-format
+msgid ""
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4188
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
+msgstr ""
+
+#: nova/compute/manager.py:4215
+#, 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:115
+#, python-format
+msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
+msgstr ""
+
+#: nova/conductor/manager.py:290
+msgid "Invalid block_device_mapping_destroy invocation"
+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:1550
+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:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
+#, 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:1561
+#, 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:4445
+#, 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:210
+#, python-format
+msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:244
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:250
+#, 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
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:279
+msgid "Specify `table_name` or `table` param"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:282
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: 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
+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:1285
+#, python-format
+msgid "Net device removed: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1288
+#, python-format
+msgid "Failed removing net device: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1406
+#, python-format
+msgid "Starting VLAN interface %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1452
+#, python-format
+msgid "Starting Bridge %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1464
+#, python-format
+msgid "Adding interface %(interface)s to bridge %(bridge)s"
+msgstr ""
+
+#: nova/network/linux_net.py:1500
+#, python-format
+msgid "Failed to add interface: %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1737
+#, python-format
+msgid "Starting bridge %s "
+msgstr ""
+
+#: nova/network/linux_net.py:1745
+#, 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:382
+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:53
+#, python-format
+msgid "Quantum Error creating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:71
+#, python-format
+msgid "Quantum Error updating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:124
+#, 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
+#, python-format
+msgid "Quantum Error: %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:147
+msgid "Quantum Error getting security groups"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:157
+msgid "Security group id should be uuid"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:192
+#, 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
+msgid "Quantum Error:"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:249
+#, python-format
+msgid "Quantum Error unable to delete %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:260
+#, python-format
+msgid "Quantum security group rule %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:374
+#, 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
+#, python-format
+msgid "Adding security group %(security_group_id)s to port %(port_id)s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:444
+#, 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:304
+#, 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/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 ""
+"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:51
+msgid "Is the appropriate service running?"
+msgstr ""
+
+#: nova/scheduler/chance.py:56
+msgid "Could not find another compute"
+msgstr ""
+
+#: nova/scheduler/driver.py:61
+msgid "Exception during scheduler.run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#, python-format
+msgid "Setting instance to %(state)s state."
+msgstr ""
+
+#: nova/scheduler/driver.py:156
+msgid "Driver must implement schedule_prep_resize"
+msgstr ""
+
+#: nova/scheduler/driver.py:164
+msgid "Driver must implement schedule_run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:169
+msgid "Driver must implement select_hosts"
+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)"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:73
+#, python-format
+msgid ""
+"Attempting to build %(num_instances)d instance(s) uuids: "
+"%(instance_uuids)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:77
+#, python-format
+msgid "Request Spec: %s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:97
+#, python-format
+msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:239
+msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:256
+#, python-format
+msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:288
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:356
+#, python-format
+msgid "Filtered %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:361
+#, python-format
+msgid "Weighed %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:403
+#, 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:384
+#, python-format
+msgid "Received %(service_name)s service update from %(state_key)s."
+msgstr ""
+
+#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/filters/trusted_filter.py:214
+#, python-format
+msgid "No service for compute ID %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:425
+#, 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 ""
+
+#: 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
+#, python-format
+msgid "Could not decode scheduler options: '%(e)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 "%(host_state)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:44
+msgid "VCPUs not set; assuming CPU collection broken"
+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:46
+#, 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/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:3531
+#: 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:3536
+#: 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:3541
+#: 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:4124
+#, 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
+#, python-format
+msgid "After terminating instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1814
+msgid "Internal error"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4135
+#, python-format
+msgid "After force-killing instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4635
+msgid "wrong host/node"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:9437
+msgid "spawn error"
+msgstr ""
+
+#: nova/tests/db/test_migrations.py:1801
+#, 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:2183
+#, 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
+#, python-format
+msgid "Creating files in %s to simulate guest agent"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_xenapi.py:910
+#, 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:948
+msgid "Event must be an instance of nova.virt.event.Event"
+msgstr ""
+
+#: nova/virt/driver.py:954
+#, python-format
+msgid "Exception dispatching event %(event)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/driver.py:976
+msgid "Compute driver option required, but not specified"
+msgstr ""
+
+#: nova/virt/driver.py:979
+#, python-format
+msgid "Loading compute driver '%s'"
+msgstr ""
+
+#: nova/virt/driver.py:986
+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:306
+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:257
+#, python-format
+msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:284
+#, python-format
+msgid "Baremetal power manager failed to restart node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:295
+#, python-format
+msgid "Destroy called on non-existing instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:313
+#, python-format
+msgid "Error from baremetal driver during destroy: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:318
+#, python-format
+msgid "Error while recording destroy failure in baremetal database: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:328
+#, python-format
+msgid "Baremetal power manager failed to stop node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:340
+#, 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:92
+#, python-format
+msgid "Building PXE config for deployment %s."
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:231
+#, 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
+#, python-format
+msgid "Fetching kernel and ramdisk for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#, python-format
+msgid "Fetching image %(ami)s for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#, python-format
+msgid "Injecting files into image for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#, python-format
+msgid "Node associated with another instance while waiting for deploy of %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:466
+#, python-format
+msgid "PXE deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:471
+#, python-format
+msgid "PXE deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:475
+#, python-format
+msgid "PXE deploy failed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#, python-format
+msgid "Baremetal node deleted while waiting for deployment of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:482
+#, python-format
+msgid "Timeout reached while waiting for PXE deploy of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:145
+#, 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
+#, python-format
+msgid "Tilera deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:368
+#, python-format
+msgid "Tilera deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:376
+msgid "Node is unknown error state."
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:379
+#, 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:122
+#, python-format
+msgid "baremetal driver was unable to delete tid %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:186
+#, 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:259
+#, 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:329
+msgid "No more PXE IPs available"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:351
+#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#, python-format
+msgid "Baremetal interface %s not found"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#, python-format
+msgid "Baremetal interface %s already in use"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#, 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:67
+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
+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:46
+#, python-format
+msgid "File path %s not valid"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:80
+#, 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:150
+msgid "plug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:153
+msgid "unplug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:156
+msgid "ensure_filtering_rules_for_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:160
+msgid "unfilter_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:191
+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:3943
+#: 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:69
+#, 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
+#, python-format
+msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:87
+#, 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:163
+#, python-format
+msgid "Updating remote planned VM disk paths for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:199
+#, python-format
+msgid "Starting live migration for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:208
+#, 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:96
+msgid "Cannot cleanup migration files"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:103
+#, 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:171
+#, 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
+#, 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
+#, python-format
+msgid "Getting info for disk: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:194
+#, python-format
+msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:205
+#, 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
+msgid "finish_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:223
+#, python-format
+msgid "Cannot find boot VHD file: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+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:92
+#, python-format
+msgid "Creating directory: %s"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#, 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:83
+#, python-format
+msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:88
+#, 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
+#, 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
+#, python-format
+msgid ""
+"Updating Glance image %(image_id)s with content from merged disk "
+"%(image_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:105
+#, python-format
+msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:109
+#, python-format
+msgid "Removing snapshot %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:113
+#, 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:127
+#, python-format
+msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:139
+#, python-format
+msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:152
+msgid "Spawning new instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:178
+msgid "Spawn instance failed"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:203
+#, python-format
+msgid "Creating nic for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:211
+#, python-format
+msgid "Invalid config_drive_format \"%s\""
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:214
+#, python-format
+msgid "Using config drive for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
+#, python-format
+msgid "Creating config drive at %(path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
+#, python-format
+msgid "Creating config drive failed with error: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:271
+#, python-format
+msgid "Got request to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:284
+#, python-format
+msgid "Instance not found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:290
+#, python-format
+msgid "Failed to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:295
+msgid "reboot instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:301
+msgid "Pause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:307
+msgid "Unpause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:313
+msgid "Suspend instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:319
+msgid "Resume instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:325
+msgid "Power off instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:331
+msgid "Power on instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:338
+#, python-format
+msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:342
+#, 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:373
+#, python-format
+msgid "Operation failed with return value: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:391
+#, 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
+#, python-format
+msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:403
+#, python-format
+msgid "WMI job failed with status %(job_state)d. No error description available"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:409
+#, 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:102
+#, 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
+#, python-format
+msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:145
+#, python-format
+msgid "Attach volume failed: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:147
+#, python-format
+msgid "Unable to attach volume to instance %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:160
+#, python-format
+msgid "Logging off storage target %(target_iqn)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:165
+#, python-format
+msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:176
+#, python-format
+msgid "Detaching physical disk from instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
+msgid "Could not determine iscsi initiator name"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#, python-format
+msgid "Unable to find a mounted disk for target_iqn: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:200
+#, 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:564
+#, python-format
+msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:578
+#, python-format
+msgid "Connecting to libvirt: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:596
+#, python-format
+msgid "URI %s does not support events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
+msgid "Connection to libvirt broke"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#, python-format
+msgid "Can not handle authentication request for %d credentials"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:672
+#, python-format
+msgid "Connection to libvirt failed: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:781
+#, python-format
+msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:796
+msgid "During wait destroy, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:801
+msgid "Instance destroyed successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:811
+msgid "Instance may be started again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:821
+msgid "Going to destroy instance again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:840
+msgid "Error from libvirt during undefineFlags. Retrying with undefine"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:856
+#, python-format
+msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:876
+msgid "Instance may be still running, destroy it again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:882
+#, python-format
+msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:910
+#, python-format
+msgid "Deleting instance files %(target)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:919
+#, python-format
+msgid "Failed to cleanup directory %(target)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:962
+msgid "Could not determine fibre channel world wide node names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:969
+msgid "Could not determine fibre channel world wide port names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1093
+msgid "During detach_volume, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1117
+msgid "attaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1137
+msgid "During detach_interface, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1141
+msgid "detaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1227
+msgid "Beginning live snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1230
+msgid "Beginning cold snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1259
+msgid "Snapshot extracted, beginning image upload"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1271
+msgid "Snapshot image upload complete"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1344
+msgid "Instance soft rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1348
+msgid "Failed to soft reboot instance."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1383
+msgid "Instance shutdown successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1391
+msgid "Instance may have been rebooted during soft reboot, so return now."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1439
+msgid "Instance rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1585
+msgid "Instance is running"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
+msgid "Instance spawned successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1608
+#, python-format
+msgid "data: %(data)r, fpath: %(fpath)r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
+#, python-format
+msgid "Truncated console log returned, %d bytes ignored"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
+msgid "Guest does not have a console available"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1729
+#, python-format
+msgid "Path '%(path)s' supports direct I/O"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1733
+#, python-format
+msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
+#, python-format
+msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1814
+msgid "Creating image"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1915
+msgid "Using config drive"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1964
+#, python-format
+msgid "Injecting %(inj)s into image %(img_id)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1974
+#, python-format
+msgid "Error injecting data into image %(img_id)s (%(e)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2033
+#, 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:2039
+msgid "Config requested a custom CPU model, but no model name was provided"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2043
+msgid "A CPU model name should not be set when a host CPU model is requested"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2047
+#, python-format
+msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2063
+msgid ""
+"Passthrough of the host CPU was requested but this libvirt version does "
+"not support this feature"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2387
+#, 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:2402
+#, python-format
+msgid "End to_xml instance=%(instance)s xml=%(xml)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
+#, 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:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2635
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2642
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2647
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2664
+msgid ""
+"Cannot get the number of cpu, because this function is not implemented "
+"for this platform. "
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2674
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2726
+#, python-format
+msgid "couldn't obtain the vpu count from domain id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2798
+msgid "libvirt version is too old (does not support getVersion)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2883
+#, python-format
+msgid "Trying to get stats for the volume %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2896
+#, 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:2914
+#, 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:2919
+#, python-format
+msgid ""
+"Could not find domain in libvirt for instance %s. Cannot get block stats "
+"for device"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2996
+#, 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:3077
+msgid "Block migration can not be used with shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3085
+msgid "Live migration can not be used without shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3130
+#, 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:3155
+#, python-format
+msgid ""
+"Instance launched has CPU info:\n"
+"%s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3167
+#, python-format
+msgid ""
+"CPU doesn't have compatibility.\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Refer to %(u)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3184
+#, 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:3234
+#, python-format
+msgid "The firewall filter for %s does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3306
+#, python-format
+msgid "Live Migration failure: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3408
+#, python-format
+msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3520
+#, 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:3537
+#, python-format
+msgid "skipping %(path)s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3542
+#, python-format
+msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3583
+#, python-format
+msgid "Getting disk size of %(i_name)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3653
+msgid "Starting migrate_disk_and_power_off"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3721
+msgid "Instance running successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3727
+msgid "Starting finish_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3792
+msgid "Starting finish_revert_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3915
+#, python-format
+msgid "Checking instance files accessability%(instance_path)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(%(instance_filter_name)s) is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:271
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:287
+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:265 nova/virt/libvirt/vif.py:386
+#: nova/virt/libvirt/vif.py:473
+#, 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
+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
+#, python-format
+msgid "Unexpected vif_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:304
+#, python-format
+msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:314
+#, python-format
+msgid "Ensuring bridge %s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+msgid "Failed while unplugging vif"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:502
+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
+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:558
+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:587
+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:614
+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:677
+#, 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
+#, 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:125
+msgid "In get_host_ip_addr"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:128
+#, python-format
+msgid "Attempting to resolve %s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:130
+#, python-format
+msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:171
+#, python-format
+msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:303
+#, 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:186
+#, python-format
+msgid "PowerVM image creation failed: %s"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:200
+#, python-format
+msgid "Creating LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:202
+#, python-format
+msgid "LPAR instance '%s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:208
+#, python-format
+msgid "Activating the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:225
+#, python-format
+msgid "Instance '%s' failed to boot"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:237
+msgid "Error while attempting to clean up failed instance launch."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:241
+#, python-format
+msgid "Instance spawned in %s seconds"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:252
+#, python-format
+msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:271
+#, python-format
+msgid "Stopping instance %s for snapshot."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:294
+#, python-format
+msgid "Shutting down the instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:299
+#, python-format
+msgid "Deleting the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:311
+msgid "PowerVM instance cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+msgid "Not enough free memory in the host"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+msgid "Insufficient available CPU on PowerVM"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:138
+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
+#, python-format
+msgid "VMware Cluster %s is not found"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:451
+#, python-format
+msgid "In vmwareapi:_create_session, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:534
+#, python-format
+msgid "In vmwareapi:_call_method, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:570
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: success"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:575
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:579
+#, 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:46 nova/virt/xenapi/fake.py:79
+#, python-format
+msgid "%(text)s: _db_content => %(content)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:133
+#, python-format
+msgid "Property %(attr)s not set for the managed object %(name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:494
+msgid "There is no VM registered"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#, python-format
+msgid "Virtual Machine with ref %s is not there"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:559
+#, python-format
+msgid "Logging out a session that is invalid or already logged out: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:574
+msgid "Session is faulty"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:577
+msgid "Session Invalid"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:670
+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:944
+msgid "Destroying the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+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:869
+#, python-format
+msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:898
+#, python-format
+msgid "Renaming the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:904
+#, python-format
+msgid "Renamed the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:919
+#, python-format
+msgid "Cloning VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:927
+#, python-format
+msgid "Cloned VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
+#, python-format
+msgid ""
+"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
+" the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:966
+#, python-format
+msgid "Renaming the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:972
+#, python-format
+msgid "Renamed the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:997
+#, python-format
+msgid "Migrating VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1009
+#, python-format
+msgid "Migrated VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1019 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
+#, python-format
+msgid "Automatically hard rebooting %d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1057
+msgid "get_diagnostics not implemented for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1134
+msgid "Reconfiguring VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1140
+msgid "Reconfigured VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1152
+#, python-format
+msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1159
+#, python-format
+msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1252
+#, python-format
+msgid "Creating directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1258
+#, 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:267
+#, 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:101 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
+#, 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
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:123
+#, 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
+#, python-format
+msgid "Failed to query agent version: %r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:153
+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
+#, python-format
+msgid "Updating agent to %s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:183
+#, python-format
+msgid "Failed to update agent: %r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:197
+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
+msgid "Skipping setting of ssh key for Windows."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:264
+#, 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
+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
+msgid ""
+"XenServer tools installed in this image are capable of network injection."
+" Networking files will not bemanipulated"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:321
+msgid ""
+"XenServer tools are present in this image but are not capable of network "
+"injection"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:325
+msgid "XenServer tools are not installed in this image"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:339
+msgid "Invalid 'agent_present' value. Falling back to the default."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:392
+#, 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:348
+#, python-format
+msgid "Could not determine key: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:571
+msgid "Host startup on XenServer is not supported."
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:632
+msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:672
+msgid "Host is member of a pool, but DB says otherwise"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#, 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
+msgid "Raising NotImplemented"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:707
+#, python-format
+msgid "xenapi.fake does not have an implementation for %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:740
+#, python-format
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:746
+#, python-format
+msgid "Calling getter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:749
+#, python-format
+msgid "Calling setter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:811
+#, 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:1210
+#, python-format
+msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1228
+#, python-format
+msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1252
+#, python-format
+msgid "Fetching image %(image_id)s, type %(image_type_str)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1266
+#, python-format
+msgid "Size for image %(image_id)s: %(virtual_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1276
+#, 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
+#, python-format
+msgid "Copying VDI %s to /boot/guest on dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1310
+#, python-format
+msgid "Kernel/Ramdisk VDI %s destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1319
+msgid "Failed to fetch glance image"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1360
+#, python-format
+msgid "Detected %(image_type_str)s format for image %(image_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1391
+#, python-format
+msgid "Looking up vdi %s for PV kernel"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1409
+#, 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
+#, python-format
+msgid "Unknown image format %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1446
+#, python-format
+msgid "VDI %s is still available"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1549
+#, python-format
+msgid "Unable to parse rrd of %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1577
+#, python-format
+msgid "Re-scanning SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1605
+#, python-format
+msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1623
+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
+msgid "Cannot find SR of content-type ISO"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1644
+#, python-format
+msgid "ISO: looking at SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1646
+msgid "ISO: not iso content"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1649
+msgid "ISO: iso content_type, no 'i18n-key' key"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1652
+msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1656
+msgid "ISO: SR MATCHing our criteria"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1658
+msgid "ISO: ISO, looking to see if it is host local"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1661
+#, python-format
+msgid "ISO: PBD %s disappeared"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1664
+#, python-format
+msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1667
+msgid "ISO: SR with local PBD"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1689
+#, 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
+#, python-format
+msgid "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1760
+#, python-format
+msgid "Invalid statistics data from Xenserver: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1820
+#, python-format
+msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1908
+#, 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
+#, python-format
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1955
+#, python-format
+msgid "Timeout waiting for device %s to be created"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1975
+#, python-format
+msgid "Disconnecting stale VDI %s from compute domU"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1988
+#, python-format
+msgid "Plugging VBD %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1991
+#, python-format
+msgid "Plugging VBD %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1993
+#, python-format
+msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1997
+#, python-format
+msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2003
+#, python-format
+msgid "Destroying VBD for VDI %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2011
+#, python-format
+msgid "Destroying VBD for VDI %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2038
+#, python-format
+msgid "Running pygrub against %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2046
+#, python-format
+msgid "Found Xen kernel %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2048
+msgid "No Xen kernel found. Booting HVM."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2050
+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:2067
+msgid "Partitions:"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2073
+#, python-format
+msgid " %(num)s: %(ptype)s %(size)d sectors"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2099
+#, python-format
+msgid ""
+"Writing partition table %(primary_first)d %(primary_last)d to "
+"%(dev_path)s..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2114
+#, python-format
+msgid "Writing partition table %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2155
+#, 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
+#, 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
+#, python-format
+msgid ""
+"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
+"reduction in size"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2287
+msgid "Manipulating interface files directly"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2296
+#, python-format
+msgid "Failed to mount filesystem (expected for non-linux instances): %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2409
+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:241
+#, python-format
+msgid "Unable to obtain target information %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 "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/ru/LC_MESSAGES/nova.po b/nova/locale/ru/LC_MESSAGES/nova.po
index bb0247486..849527266 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr "block_device_list %s"
@@ -164,93 +164,100 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Том %(volume_id)s никуда не приÑоединён"
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "ÐедопуÑтимый запроÑ."
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "ÐедопуÑтимый том"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "ÐедопуÑтимые метаданные"
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "Ðеправильный ключ метаданных"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "ÐедопуÑтимый протокол IP %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "ÐедопуÑтимый тип Ñодержимого %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "ÐедопуÑтимый cidr %(cidr)s."
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "ДопуÑтимый узел не найден. %(reason)s"
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -259,86 +266,86 @@ msgstr ""
"ÐšÐ¾Ð¿Ð¸Ñ %(instance_uuid)s в %(attr)s %(state)s. Ðевозможно %(method)s во "
"Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ в Ñтом ÑоÑтоÑнии."
-#: nova/exception.py:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не выполнÑетÑÑ."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим приоÑтановлениÑ."
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Ð’ данный момент Ñлужба недоÑтупна."
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Служба Compute недоÑтупна в наÑтоÑщее времÑ."
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "Ðевозможно перемеÑтить копию (%(instance_id)s) на текущий узел (%(host)s)."
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "Копии необходима Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð³Ð¸Ð¿ÐµÑ€Ð²Ð¸Ð·Ð¾Ñ€Ð°, вмеÑто предоÑтавленной."
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -347,38 +354,38 @@ msgstr ""
"ПредоÑтавленный Ð°Ð´Ñ€ÐµÑ Ð´Ð¸Ñка (%(path)s) уже ÑущеÑтвует, но ожидалоÑÑŒ, что "
"отÑутÑтвует."
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:383
+#: nova/exception.py:394
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:388
+#: nova/exception.py:399
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "ÐедопуÑтимые ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¦ÐŸÐ£"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым IP-адреÑом в4/6."
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -386,86 +393,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Форматирование диÑка %(disk_format)s недопуÑтимо"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Образ %(image_id)s недопуÑтим: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s недопуÑтима: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s недопуÑтим."
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "ÐедопуÑтимый cidr %(cidr)s."
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "РеÑÑƒÑ€Ñ Ð½Ðµ может быть найден."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Том %(volume_id)s не найден."
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "ОтÑутÑтвует диÑк в %(location)s"
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "Ðевозможно найти обработчик Ð´Ð»Ñ Ñ‚Ð¾Ð¼Ð° %(driver_type)s."
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "ÐедопуÑтимый образ href %(image_href)s."
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Образ %(image_id)s не найден."
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -473,65 +480,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Проект %(project_id)s не найден."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "Ðевозможно найти SR Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ/запиÑи VDI."
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s необходимо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñети."
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "Сеть не может быть найдена Ð´Ð»Ñ Ð¼Ð¾Ñта %(bridge)s"
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "Сеть не может быть найдена Ð´Ð»Ñ uuid %(uuid)s"
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "Сеть не найдена Ñ cidr %(cidr)s."
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Сети не определены."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -540,238 +547,233 @@ msgstr ""
"Или uuid %(network_uuid)s Ñети не предоÑтавлено или не приÑвоено проекту "
"%(project_id)s."
-#: nova/exception.py:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:547
+#: nova/exception.py:558
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:551
+#: nova/exception.py:562
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "ÐедопуÑтимый фикÑированный IP-Ð°Ð´Ñ€ÐµÑ %(address)s."
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Тип тома %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "ЗапиÑÑŒ DNS %(name)s уже ÑущеÑтвует в домене %(domain)s."
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "уÑтановка Ñетевого узла"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ %(interface)s не найден."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Сертификат %(certificate_id)s не найден."
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Служба %(service_id)s не найдена."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Узел %(host)s не найден."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "Узел Ñompute %(host)s не найден."
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "Квота не найдена"
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:707
+#: nova/exception.py:714
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "КлаÑÑ %(class_name)s не найден: %(exception)s"
-#: nova/exception.py:711
+#: nova/exception.py:718
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:715
+#: nova/exception.py:722
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Пользователь %(user_id)s не найден."
-#: nova/exception.py:719
+#: nova/exception.py:726
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "РаÑширенный реÑурÑ: %s"
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "Группа безопаÑноÑти %(security_group_id)s не найдена."
-#: nova/exception.py:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -780,7 +782,7 @@ msgstr ""
"Группа безопаÑноÑти %(security_group_id)s уже аÑÑоциирована Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ "
"%(instance_id)s"
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -789,565 +791,607 @@ msgstr ""
"Группа безопаÑноÑти %(security_group_id)s не аÑÑоциирована Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ "
"%(instance_id)s"
-#: nova/exception.py:746
+#: nova/exception.py:753
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Перемещение %(migration_id)s не найдено."
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "Перемещение не найдено Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s в ÑоÑтоÑнии %(status)s."
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "Пул конÑоли %(pool_id)s не найден."
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "КонÑоль %(console_id)s не найдена."
-#: nova/exception.py:783
+#: nova/exception.py:790
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "КонÑоль Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s не найдена."
-#: nova/exception.py:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "ÐедопуÑтимый тип конÑоли %(console_type)s "
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "Тип копии %(instance_type_id)s не найден."
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "Тип копии Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ %(instance_type_name)s не найден."
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "том группы %s не ÑущеÑтвует"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, 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:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "Файл %(file_path)s не может быть найден."
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
"Ðе найден виртуальный переключатель аÑÑоциированный Ñ Ñетевым адаптером "
"%(adapter)s."
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "Сетевой адаптер %(adapter)s не может быть найден."
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "КлаÑÑ %(class_name)s не найден: %(exception)s"
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "ДейÑтвие не разрешено."
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
-msgstr ""
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#, fuzzy, python-format
+msgid "Key pair '%(key_name)s' already exists."
+msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, fuzzy, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/exception.py:923
+#: nova/exception.py:934
#, fuzzy, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr "Ошибка перемещениÑ"
-#: nova/exception.py:931
+#: nova/exception.py:942
#, fuzzy
msgid "Migration pre-check error"
msgstr "Ошибка перемещениÑ"
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Ðеправильное тело ÑообщениÑ: %(reason)s"
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "При изменении размера, копии должны изменить размер!"
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "ÐедоÑтаточно памÑти на узле Ñети compute Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка %(uuid)s."
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "ДопуÑтимый узел не найден. %(reason)s"
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "Превышена квота"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:993
+#: nova/exception.py:1008
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
#, fuzzy
msgid "Maximum number of key pairs exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1017
+#: nova/exception.py:1032
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, fuzzy, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "КонÑоль Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s не найдена."
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Том %(volume_id)s не найден."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Образ %(image_id)s не найден."
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Получение образа %(image)s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Получение образа %(image)s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Выполнение запуÑка копий"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Выполнение запуÑка копий"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "Проект %(project_id)s не найден."
-#: nova/exception.py:1166
+#: nova/exception.py:1181
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "ОжидалÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ типа: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1366,7 +1410,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ip: %s"
@@ -1404,148 +1448,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "ЗапуÑк узла Ñети (верÑÐ¸Ñ %(vcs_string)s) %(topic)s"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Служба завершила работу из-за отÑутÑÑ‚Ð²Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи базы данных"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "отладка в обратном вызове: %s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "ÐедопуÑтимый внутренний интерфейÑ: %s"
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "ОжидалÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ типа: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ server_string: %s"
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' занÑла %(total_time).2f Ñ."
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, fuzzy, python-format
msgid "Reloading cached file %s"
msgstr "Выгрузка образа %s"
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð°: %s"
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1559,7 +1598,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 ""
@@ -1578,127 +1617,127 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Слишком много неудачных попыток аутентификации."
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Ошибка аутентификации: %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Слишком много неудачных попыток аутентификации."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "дейÑтвие: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr ""
"Ðеавторизированный Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð°=%(controller)s и "
"дейÑтвиÑ=%(action)s"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1712,270 +1751,270 @@ msgstr ""
"Ðеподдерживаемый Ð·Ð°Ð¿Ñ€Ð¾Ñ API: контроллер = %(controller)s, дейÑтвие = "
"%(action)s"
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Создать Ñнимок тома %s"
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "Создание пары ключей %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "Импортировать ключ %s"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "Удаление пары ключей %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "ÐедоÑтаточно параметров Ð´Ð»Ñ Ñбора правильного правила."
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "ÐедопуÑтимый протокол IP %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "ОтÑутÑтвует правило Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… параметров."
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Это правило уже ÑущеÑтвует в группе %s"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Создать том из Ñнимка %s"
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Создание раздела %s ГБ"
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
#, fuzzy
msgid "Delete Failed"
msgstr "Ошибка ÑозданиÑ"
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
#, fuzzy
msgid "Attach Failed."
msgstr "Ошибка ÑозданиÑ"
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "ОтÑоединить том %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "ОтÑоединить том %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "аттрибут не поддерживаетÑÑ: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Выделить адреÑ"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
#, fuzzy
msgid "Unable to release IP Address."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "ИÑключить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr "Образ должен быть доÑтупен"
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "Перезагрузить копию %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr "Выполнение оÑтановки копий"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr "Выполнение запуÑка копий"
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "ИÑключение региÑтрации образа %s"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "не указан пользователь или группа"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ группа \"вÑе(all)\""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "Обновление оÑведомлённоÑти об образе %s"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "Ðевозможно оÑтановить копию в течении %d Ñ."
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Перечень копий"
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Перечень копий"
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "ÐедопуÑтимый cidr %(cidr)s."
@@ -2027,26 +2066,26 @@ msgstr "ÐедопуÑтимый запроÑ: %s"
msgid "Failed to get metadata for instance id: %s"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ip: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Обнаружена ошибка: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s возвратил Ñ HTTP %(status)d"
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr "РаÑширенный реÑурÑ: %s"
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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 "
@@ -2055,17 +2094,47 @@ msgstr ""
"РаÑширение %(ext_name)s: Ðевозможно раÑширить реÑÑƒÑ€Ñ %(collection)s: Ðет "
"такого реÑурÑа"
-#: nova/api/openstack/__init__.py:209 nova/api/openstack/__init__.py:341
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "РаÑширение %(ext_name)s раÑширение реÑурÑа: %(collection)s"
-#: nova/api/openstack/__init__.py:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "Загрузка раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "Загрузка раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Загрузка раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2094,7 +2163,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr "маркер [%s] не найден"
@@ -2275,7 +2344,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2381,299 +2450,299 @@ msgid "Metadata item was not found"
msgstr "Элемент метаданных не найден"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "Выполнение запуÑка копий"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "Удаление параметров '%(unk_opt_str)s' из запроÑа"
@@ -2752,7 +2821,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
@@ -2848,30 +2917,35 @@ msgstr "ЗапуÑк интерфейÑа VLAN %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Правило (%s) не найдено"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Ðаименование группы безопаÑноÑти не может отÑутÑтвовать"
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2967,13 +3041,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ %s"
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3025,7 +3099,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -3076,7 +3150,7 @@ msgstr ""
"%(instance_id)s"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3105,34 +3179,34 @@ msgstr "ÐедопуÑтимое ÑоÑтоÑние: '%s'"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: nova/api/openstack/compute/contrib/hosts.py:206
#, fuzzy, python-format
msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
msgstr "Перевод узла %(host)s в %(state)s."
-#: nova/api/openstack/compute/contrib/hosts.py:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Обновление ÑоÑтоÑÐ½Ð¸Ñ ÑƒÐ·Ð»Ð°"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3157,12 +3231,6 @@ msgstr "Пользователь %(user_id)s не найден."
msgid "Invalid timestamp for date %s"
msgstr "ÐедопуÑтимые метаданные"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr "ОтÑутÑтвует аргумент 'networkId' Ð´Ð»Ñ addFixedIp"
@@ -3279,18 +3347,35 @@ msgstr "Добавление правила группы безопаÑноÑÑ‚Ð
msgid "Create networks failed"
msgstr "Ошибка ÑозданиÑ"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3298,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "ÐедоÑтаточно параметров Ð´Ð»Ñ Ñбора правильного правила."
@@ -3317,40 +3402,47 @@ msgstr "Отображение Ñети Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %s"
msgid "security group default rule not found"
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "ÐедопуÑтимый Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ to_global_ipv6: %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr "Группа безопаÑноÑти не задана"
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr "Ðаименование группы безопаÑноÑти не может отÑутÑтвовать"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "ЗапуÑк копии %s"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ†ÐµÐ¿Ð¾Ñ‡ÐºÐ°: %r"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "Ошибка аутентификации"
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3415,26 +3507,26 @@ msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
msgid "Unreserving IP address %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3478,99 +3570,104 @@ msgstr "Выгрузка образа %s"
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3582,31 +3679,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "ÐедопуÑтимый тип копии %(instance_type)s."
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "ЗапуÑк VPN Ð´Ð»Ñ %s"
@@ -3616,35 +3712,35 @@ msgstr "ЗапуÑк VPN Ð´Ð»Ñ %s"
msgid "Failed to load %s"
msgstr "Ðевозможно Ñоздать том"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "Ñлемент не ÑвлÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ¾Ð¼"
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3667,346 +3763,356 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "получено %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Выделить адреÑ"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Тип тома %(name)s уже ÑущеÑтвует."
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "проект"
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Сеть не найдена"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s необходимо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñети."
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "ÐÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "проект"
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "Ошибка аутентификации"
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Таблица |%s| не Ñоздана!"
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "тип = %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr ""
"Превышена квота копий. Ð’Ñ‹ не можете запуÑтить дополнительные копии Ñтого "
"типа."
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "Превышена квота копий. Ð’Ñ‹ можете запуÑтить только %s копий Ñтого типа."
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, 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:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4015,97 +4121,97 @@ msgstr ""
"Превышена квота Ð´Ð»Ñ %(pid)s, попытка назначить %(num_metadata)s ÑвойÑтв "
"метаданных"
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Ðевозможно приÑоединить том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "ВыполнÑет запуÑк %s копий..."
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Тип копии %(instance_type_id)s не найден."
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "ОтÑутÑтвует узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s, немедленное удаление"
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Выполнение запуÑка копий"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Будет Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° завершить работу %s"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Попытка оÑтановить %s"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "Попытка запуÑтить %s"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr "ПоиÑк по: %s"
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "ЗапуÑк Ñнимка Ð´Ð»Ñ Ð’Ðœ %s"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4114,62 +4220,63 @@ msgstr ""
"УÑтаревший тип копии %(current_instance_type_name)s, новый тип копии "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, 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:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Будет Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° завершить работу %s"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr "Группа безопаÑноÑти %s не может быть пуÑтой."
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, fuzzy, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4178,70 +4285,70 @@ msgstr ""
"Значение (%s) Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° GroupName недопуÑтимо. Длина превышает "
"макÑимально допуÑтимое значение 255."
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "Создать группу безопаÑноÑти %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr "Группа безопаÑноÑти %s уже ÑущеÑтвует"
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "Группа безопаÑноÑти (%s) не найдена"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr "Правило (%s) не найдено"
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "Добавление правила группы безопаÑноÑти: %r"
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4300,292 +4407,292 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr "Ошибка БД: %s"
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %s не найдена Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ"
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Ошибка перезагрузки копии"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "Драйвер гипервизора не поддерживает правила брандмауÑра"
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr "Драйвер гипервизора не поддерживает правила брандмауÑра"
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Ðепредвиденный код ÑоÑтоÑниÑ"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Выполнение запуÑка копий"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "уÑтановка Ñетевого узла"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr ""
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Выполнение запуÑка копий"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "ПропуÑк DiskNotFound: %s"
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "ПропуÑк DiskNotFound: %s"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr "завершение работы bdm %s"
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "Обновление Ñборки %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Создать Ñнимок из тома %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "Перезагрузка копии %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, fuzzy, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4594,22 +4701,26 @@ msgstr ""
"попытка перезагрузки не выполнÑемой копии: %(instance_uuid)s (ÑоÑтоÑние: "
"%(state)s ожидалоÑÑŒ: %(running)s)"
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "Обновление Ñборки %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: выполнение Ñнимка"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, fuzzy, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4618,229 +4729,229 @@ msgstr ""
"попытка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñнимка не выполнÑемой копии: %(instance_uuid)s "
"(ÑоÑтоÑние: %(state)s ожидалоÑÑŒ: %(running)s)"
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "Ðайдено %(num_images)d образов (ротациÑ: %(rotation)d)"
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "Удаление образа %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
#, fuzzy
msgid "Root password set"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %s: Ðазначение админиÑтративного паролÑ"
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
#, fuzzy
msgid "error setting admin password"
msgstr "Ошибка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ ÑущеÑтвует"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr "назначение Ñовпадает Ñ Ð¸Ñточником!"
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: принÑтие диагноÑтики"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "уÑтановка Ñетевого узла"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: получение конÑоли vnc"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: получение конÑоли vnc"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "ОтÑоединение тома от неизвеÑтной копии %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Попытка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÑущеÑтвующей конÑоли %(console_id)s."
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "Сеть %(network_id)s не найдена."
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "Узел %(host)s не найден."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "Запущено post_live_migration().."
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4849,21 +4960,21 @@ msgstr ""
"отÑутÑтвует домен Ñ ÑоответÑтвующим именем.\" Эта ошибка может быть "
"безопаÑно пропущена."
-#: nova/compute/manager.py:3381
+#: nova/compute/manager.py:3477
#, fuzzy
msgid "Post operation of migration started"
msgstr "Запущено post_live_migration().."
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ip: %s"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -4872,64 +4983,64 @@ msgstr ""
"Ðайдены %(migration_count)d неподтверждённых перемещений, Ñтарше "
"%(confirm_window)d Ñекунд"
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, fuzzy, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr "Завершение работы Ð’Ðœ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_uuid)s"
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
#, fuzzy
msgid "In ERROR state"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr "Обновление временных данных иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¾ÑÑ‹ пропуÑканиÑ"
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Обновление временных данных иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¾ÑÑ‹ пропуÑканиÑ"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr "Обновление ÑоÑтоÑÐ½Ð¸Ñ ÑƒÐ·Ð»Ð°"
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -4938,88 +5049,86 @@ msgstr ""
"Ðайдено %(num_db_instances)s в базе данных и %(num_vm_instances)s в "
"гипервизоре."
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, пропуÑк..."
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "LoggingVolumeDriver: %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, fuzzy, python-format
msgid "No service record for host %s"
msgstr "Ðет Ñлужбы Ð´Ð»Ñ compute ID %s"
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
-#, fuzzy, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+#: nova/compute/manager.py:4188
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-"Ðе раÑпознанное значение '%(action)s' Ð´Ð»Ñ "
-"FLAGS.running_deleted_instance_action"
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
@@ -5121,11 +5230,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
@@ -5135,18 +5244,18 @@ msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
@@ -5232,11 +5341,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Ошибка перезагрузки копии"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Ошибка перезагрузки копии"
@@ -5255,24 +5364,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "ÐераÑпознанное значение read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5289,57 +5418,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Ðе поддерживаемый тип Ñодержимого"
@@ -5364,47 +5493,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: 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:372
+#: 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:396
+#: 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 "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/image/s3.py:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° инициализации: %s"
-#: nova/image/s3.py:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "Ð’ образе небезопаÑные имена файлов"
@@ -5530,23 +5664,23 @@ msgstr "Домен |%(domain)s| уже ÑущеÑтвует, изменение
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr "Домен |%(domain)s| уже ÑущеÑтвует, изменение проекта на |%(project)s|."
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr "Этот драйвер поддерживает только запиÑи типа 'a'."
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5573,111 +5707,111 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "ÐедопуÑтимое ÑоÑтоÑние: '%s'"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "ЗапуÑк интерфейÑа VLAN %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "ЗапуÑк копии %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ %(interface)s не найден"
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "ЗапуÑк копии %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Ошибка запуÑка xvp: %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "уÑтановка Ñетевого узла"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
#, fuzzy
msgid "network allocations"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, fuzzy, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr "иÑключение Ñетевых раÑпределений Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ |%s|"
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
#, fuzzy
msgid "network deallocation for instance"
msgstr "иÑключение Ñетевых раÑпределений Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ |%s|"
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, fuzzy, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5688,79 +5822,79 @@ msgstr ""
"доÑтупной зоне |%(zone)s|. ÐšÐ¾Ð¿Ð¸Ñ |%(instance)s| раÑположена в зоне "
"|%(zone2)s|. ЗапиÑÑŒ DNS не будет Ñоздана."
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, fuzzy, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr "Превышена квота Ð´Ð»Ñ %s, попытка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа"
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
#, fuzzy
msgid "Failed to update usages deallocating fixed IP"
msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¼Ð° в базе данных"
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr "Ðрендованный IP |%(address)s|"
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr "ПриÑвоенный IP |%(address)s|"
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr "cidr уже иÑпользуетÑÑ"
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
"Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ð°Ñ cidr (%(cidr)s) конфликтует Ñ ÑущеÑтвующей Ñупер-Ñетью "
"(%(super)s)"
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
@@ -5769,22 +5903,22 @@ msgstr ""
"Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ð°Ñ cidr (%(cidr)s) конфликтует Ñ ÑущеÑтвующей, меньшей cidr "
"(%(smaller)s)"
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr "Сеть уже ÑущеÑтвует!"
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr "Сеть должна быть иÑключена из проекта %s перед удалением"
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5822,80 +5956,80 @@ msgstr "_удалить: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 "уÑтановка Ñетевого узла"
@@ -5917,7 +6051,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Обнаружена ошибка: %s"
@@ -5932,48 +6066,48 @@ msgstr "Удалить группу безопаÑноÑти %s"
msgid "Security group id should be uuid"
msgstr "Группа безопаÑноÑти (%s) не найдена"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Обнаружена ошибка: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5987,22 +6121,22 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Это правило уже ÑущеÑтвует в группе %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "Ошибка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
#, fuzzy
msgid "Invalid version string"
msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ server_string: %s"
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6206,21 +6340,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, fuzzy, python-format
msgid "SQL connection failed. %s attempts left."
msgstr "Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ SQL (%(connstring)s). %(attempts)d попыток оÑталоÑÑŒ."
@@ -6415,7 +6559,7 @@ msgid "Returning exception %s to caller"
msgstr "Возврат иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ %s вызывающему"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6448,44 +6592,44 @@ msgstr ""
"попытка через %(sleep_time)d Ñекунд."
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: nova/openstack/common/rpc/impl_qpid.py:457
#, python-format
msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
msgstr "Ошибка объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»ÑŽ темы '%(topic)s': %(err_str)s"
#: nova/openstack/common/rpc/impl_kombu.py:627
-#: nova/openstack/common/rpc/impl_qpid.py:419
+#: 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:423
+#: nova/openstack/common/rpc/impl_qpid.py:476
#, python-format
msgid "Failed to consume message from queue: %s"
msgstr "Ошибка принÑÑ‚Ð¸Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· очереди: %s"
#: nova/openstack/common/rpc/impl_kombu.py:670
-#: nova/openstack/common/rpc/impl_qpid.py:458
+#: nova/openstack/common/rpc/impl_qpid.py:511
#, python-format
msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
msgstr "Ошибка публикации ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² тему '%(topic)s': %(err_str)s"
-#: nova/openstack/common/rpc/impl_qpid.py:352
+#: nova/openstack/common/rpc/impl_qpid.py:399
#, fuzzy, python-format
msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
msgstr "Ðевозможно подключитьÑÑ Ðº Ñерверу AMQP: %s "
-#: nova/openstack/common/rpc/impl_qpid.py:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6718,7 +6862,7 @@ msgstr "Ðевозможно найти другой compute"
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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"
@@ -6836,7 +6980,7 @@ msgstr "Ðет Ñлужбы Ð´Ð»Ñ compute ID %s"
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr "Ошибка schedule_%(method)s: %(ex)s"
@@ -6857,10 +7001,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6868,6 +7019,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -7059,12 +7215,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7109,13 +7265,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7128,7 +7277,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7136,58 +7285,65 @@ msgid ""
"instances"
msgstr "Превышена квота Ð´Ð»Ñ %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/tests/api/openstack/compute/test_servers.py:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "ВыполнÑемые копии: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr "ПоÑле принудительного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий: %s"
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
#, fuzzy
msgid "spawn error"
msgstr "Ошибка аутентификации"
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:183
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "ÐÐ´Ñ€ÐµÑ |%(address)s| не выделен"
-#: nova/tests/integrated/test_api_samples.py:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7197,22 +7353,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: nova/tests/integrated/test_api_samples.py:208
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "ÐÐ´Ñ€ÐµÑ |%(address)s| не выделен"
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7282,28 +7438,36 @@ msgstr "Декодирование JSON: %s"
msgid "fake vswitch not found"
msgstr "маркер [%s] не найден"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "Создание файлов в %s Ð´Ð»Ñ Ð¸Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ð¸ гоÑтевого агента"
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Удаление файлов имитации гоÑтевого агента в %s"
@@ -7313,25 +7477,25 @@ msgstr "Удаление файлов имитации гоÑтевого аге
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "LoggingVolumeDriver: %s"
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Ðевозможно загрузить драйвер виртуализации: %s"
@@ -7341,43 +7505,43 @@ msgstr "Ðевозможно загрузить драйвер виртуалиÐ
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr "Выполненое обновление правил брандмауÑра поÑтавщика"
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr "Добавление правила группы безопаÑноÑти: %r"
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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"
@@ -7487,22 +7651,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Перечень копий"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Перечень копий"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7522,7 +7686,7 @@ msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
msgid "PXE deploy failed for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7532,28 +7696,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
@@ -7640,15 +7804,15 @@ 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 ""
@@ -8134,17 +8298,17 @@ msgstr "ВерÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð° копии: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
@@ -8496,12 +8660,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "Перечень копий"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
@@ -8667,7 +8831,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8686,256 +8850,262 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, fuzzy, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr "Ошибка поиÑка vbd Ð´Ð»Ñ vdi %s"
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "том группы %s не ÑущеÑтвует"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "Ðеполадка Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ÐµÐ¼ к libvirt"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Выполнение оÑтановки копий"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "Ошибка schedule_%(method)s: %(ex)s"
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Ñнимок %s: Ñоздание завершено"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Пользователь не имеет админиÑтративных привилегий"
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr "Создание изображениÑ"
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ xapi на приём образа vhd %(image)s"
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8943,12 +9113,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -8957,27 +9134,33 @@ msgstr ""
"Ошибка libvirt во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -8986,35 +9169,25 @@ msgstr ""
"Ðевозможно получить количеÑтво ЦПУ, так как Ñта возможноÑÑ‚ÑŒ не "
"реализована Ð´Ð»Ñ Ñтой платформы. Эту ошибку можно безопаÑно пропуÑтить."
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr "уÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ð²ÐµÑ€ÑÐ¸Ñ libvirt (не поддерживаетÑÑ getVersion)"
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Получение размера образа Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %s"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9022,21 +9195,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9045,29 +9218,29 @@ msgstr ""
"Создание временного файла %s Ð´Ð»Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… узлов Ñети compute о "
"необходимоÑти приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾ же хранилища."
-#: nova/virt/libvirt/driver.py:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9077,7 +9250,7 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9086,22 +9259,22 @@ msgstr ""
"Создание временного файла %s Ð´Ð»Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… узлов Ñети compute о "
"необходимоÑти приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾ же хранилища."
-#: nova/virt/libvirt/driver.py:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Ошибка аутентификации: %s"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, 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:3425
+#: nova/virt/libvirt/driver.py:3520
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9110,39 +9283,39 @@ msgstr ""
"Ошибка libvirt во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
#, fuzzy
msgid "Instance running successfully."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %s: выполнение"
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -9155,33 +9328,33 @@ msgstr ""
"Модуль Libvirt не может быть загружен. NWFilterFirewall не будет работать"
" надлежащим образом."
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, 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:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr "БрандмауÑÑ€ iptables: ÐаÑтройка базовой фильтрации"
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "неизвеÑтный обработчик образа диÑка: %s"
@@ -9327,22 +9500,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,17 +9523,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9398,14 +9571,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr "Ошибка отÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ vif копии '%s'"
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9413,7 +9586,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9421,7 +9594,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9429,7 +9602,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9437,12 +9610,12 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr "iSCSI-уÑтройÑтво не найдено в %s"
-#: nova/virt/libvirt/volume.py:241
+#: nova/virt/libvirt/volume.py:243
#, fuzzy, python-format
msgid ""
"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
@@ -9451,48 +9624,48 @@ msgstr ""
"Том ISCSI не найден в: %(mount_device)s. Будет выполнена Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ "
"проверка и попытка. Повторение: %(tries)s"
-#: nova/virt/libvirt/volume.py:254
+#: nova/virt/libvirt/volume.py:256
#, fuzzy, python-format
msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
msgstr "Ðайден узел iSCSI %(mount_device)s (поÑле %(tries)s повторных проверок)"
-#: nova/virt/libvirt/volume.py:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "образ уже приÑоединён"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "iSCSI-уÑтройÑтво не найдено в %s"
-#: nova/virt/libvirt/volume.py:562
+#: nova/virt/libvirt/volume.py:564
#, fuzzy, python-format
msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
msgstr ""
"Том ISCSI не найден в: %(mount_device)s. Будет выполнена Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ "
"проверка и попытка. Повторение: %(tries)s"
-#: nova/virt/libvirt/volume.py:577
+#: nova/virt/libvirt/volume.py:579
#, fuzzy, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr "Ðайден узел iSCSI %(mount_device)s (поÑле %(tries)s повторных проверок)"
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
#, fuzzy
msgid "Fibre Channel device not found."
msgstr "iSCSI-уÑтройÑтво не найдено в %s"
-#: nova/virt/libvirt/volume.py:726
+#: nova/virt/libvirt/volume.py:728
#, fuzzy, python-format
msgid ""
"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
@@ -9501,30 +9674,30 @@ msgstr ""
"Том ISCSI не найден в: %(mount_device)s. Будет выполнена Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ "
"проверка и попытка. Повторение: %(tries)s"
-#: nova/virt/libvirt/volume.py:743
+#: nova/virt/libvirt/volume.py:745
#, fuzzy, python-format
msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
msgstr "Ðайден узел iSCSI %(mount_device)s (поÑле %(tries)s повторных проверок)"
-#: nova/virt/libvirt/volume.py:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9631,26 +9804,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Сбой ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ c melange"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9800,32 +9973,32 @@ msgstr ""
"Ðеобходимо указать vmwareapi_host_ip,vmwareapi_host_username и "
"vmwareapi_host_password useconnection_type=vmwareapi"
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "маркер [%s] не найден"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "Ð’ vmwareapi:_create_session, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "Ð’ vmwareapi:_call_method, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "СоÑтоÑние задачи [%(task_name)s] %(task_ref)s: готово"
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, 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:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "Ð’ vmwareapi:_poll_task, принÑта Ñта ошибка %s"
@@ -9835,39 +10008,39 @@ msgstr "Ð’ vmwareapi:_poll_task, принÑта Ñта ошибка %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, 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:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr "ОтÑутÑтвуют зарегиÑтрированные Ð’Ðœ"
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "Завершение ÑеанÑа Ñ Ð½ÐµÐ¿Ð¾Ð»Ð°Ð´ÐºÐ°Ð¼Ð¸ или уже завершённого ÑеанÑа: %s"
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr "Ð¡ÐµÐ°Ð½Ñ Ð¸Ð¼ÐµÐµÑ‚ неполадки"
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr "ÐедопуÑтимый ÑеанÑ"
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " ОтÑутÑтвуют зарегиÑтриованные виртуальные машины"
@@ -9877,38 +10050,38 @@ msgstr " ОтÑутÑтвуют зарегиÑтриованные виртуаÐ
msgid "%(action)s %(host)s"
msgstr "дейÑтвие: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: nova/virt/vmwareapi/host.py:64
#, fuzzy, python-format
msgid "Set maintenance mod on %(host)s to %(mode)s"
msgstr "Перевод узла %(host)s в %(state)s."
-#: nova/virt/vmwareapi/io_util.py:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9951,59 +10124,59 @@ msgstr "Перечень копий"
msgid "Got total of %s instances"
msgstr "Ð’Ñего %s копий"
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
#, fuzzy
msgid "Creating VM on the ESX host"
msgstr "Создание Ð’Ðœ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s на узле ESX"
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
#, fuzzy
msgid "Created VM on the ESX host"
msgstr "Создание Ð’Ðœ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s на узле ESX"
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -10011,334 +10184,333 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "Включение Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð½Ð° копии Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
#, fuzzy
msgid "Powered on the VM instance"
msgstr "Питание включено на копии ВМ %s"
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
#, fuzzy
msgid "Created Snapshot of the VM instance"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr "Выгрузка образа %s"
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr "Выгруженный образ %s"
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr "Удаление временного файла vmdk %s"
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr "Удалённый временный файл vmdk %s"
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
#, fuzzy
msgid "Rebooting guest OS of VM"
msgstr "Перезагрузка гоÑтевой ОС Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
#, fuzzy
msgid "Rebooted guest OS of VM"
msgstr "Выполнена перезагрузка гоÑтевой ОС Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
#, fuzzy
msgid "Doing hard reboot of VM"
msgstr "Выполнение безотказной перезагрузки ВМ %s"
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
#, fuzzy
msgid "Did hard reboot of VM"
msgstr "Выполнение безотказной перезагрузки ВМ %s"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "Выполнение перезагрузки xvp"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "ÐезарегиÑÑ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: nova/virt/vmwareapi/vmops.py:641
#, fuzzy, python-format
msgid "In vmwareapi:vmops:delete, got this exception while destroying the VM: %s"
msgstr "Ð’ vmwareapi:_call_method, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/vmops.py:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
#, fuzzy
msgid "Powering off the VM"
msgstr "Выключение Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
#, fuzzy
msgid "Powered off the VM"
msgstr "Питание ВМ %s выключено"
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "ИÑключение региÑтрации Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
#, fuzzy
msgid "Unregistered the VM"
msgstr "ÐезарегиÑÑ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
#, fuzzy
msgid "Suspending the VM"
msgstr "ПриоÑтановка Ð’Ðœ %s "
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
#, fuzzy
msgid "Suspended the VM"
msgstr "ПриоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð’Ðœ %s "
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
#, fuzzy
msgid "instance is powered off and cannot be suspended."
msgstr "Питание копии выключено и Ñледовательно она не может быть приоÑтановлена."
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
#, fuzzy
msgid "Resuming the VM"
msgstr "Возобновление работы ВМ %s"
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
#, fuzzy
msgid "Resumed the VM"
msgstr "Работа ВМ %s возобновлена "
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ в приоÑтановленном ÑоÑтоÑнии"
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
#, fuzzy
msgid "instance is suspended and cannot be powered off."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "Выключение Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ðœ %s"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
#, fuzzy
msgid "Powered on the VM"
msgstr "Питание ВМ %s выключено"
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Обновление Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ '%(instance_uuid)s' до %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Удалить том Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼: %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, 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:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Удалить том Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼: %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Создать том из Ñнимка %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "ÐвтоматичеÑÐºÐ°Ñ Ð±ÐµÐ·Ð¾Ñ‚ÐºÐ°Ð·Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° %d"
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr "Создание папки Ñ Ð°Ð´Ñ€ÐµÑом %s"
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr "Создана папка Ñ Ð°Ð´Ñ€ÐµÑом %s"
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr "Получение размера образа Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %s"
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr "ПринÑÑ‚ размер образа %(size)s Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %(image)s"
@@ -10401,7 +10573,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10411,12 +10583,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ %(mountpoint)s приÑоединена к копии %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10426,19 +10598,19 @@ msgstr ""
msgid "Unable to find volume"
msgstr "Ошибка поиÑка тома в базе данных"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ %(mountpoint)s отÑоединена от копии %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
#, fuzzy, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10447,101 +10619,94 @@ msgstr ""
"ÐЕ РЕÐЛИЗОВÐÐО: Вызов %(method)s не поддерживаетÑÑ Ð°Ð³ÐµÐ½Ñ‚Ð¾Ð¼. VM "
"id=%(instance_uuid)s; args=%(args)r"
-#: nova/virt/xenapi/agent.py:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
-#, fuzzy, python-format
+#: nova/virt/xenapi/agent.py:123
+#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-"Вызов агентом %(method)s возвратил недопуÑтимый ответ: %(ret)r. VM "
-"id=%(instance_uuid)s; path=%(path)s; args=%(addl_args)r"
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
-msgstr "Ошибка запроÑа верÑии агента: %(resp)r"
+msgid "Failed to query agent version: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð²ÐµÑ€Ñии агента"
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Обновление агента до %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð°: %(resp)r"
+msgid "Failed to update agent: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr "ÐаÑтройка Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr "Ошибка обмена ключей: %(resp)r"
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
+msgid "Failed to exchange keys: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr "СредÑтва XenServer не уÑтановлены в Ñтот образ"
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "Ошибка OpenSSL: %s"
@@ -10561,56 +10726,56 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr "ЗапуÑк узла на XenServer не поддерживаетÑÑ."
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
"Ðевозможно выполнить вход в XenAPI (недоÑтаточно Ñвободного меÑта на "
"Dom0?)"
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "ИÑключение: %s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake не имеет реализации Ð´Ð»Ñ %s"
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² getter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10619,21 +10784,21 @@ msgstr ""
"xenapi.fake не имеет реализации Ð´Ð»Ñ %s или был вызван Ñ Ð¸Ñпользованием "
"неправильным чиÑлом аргументов"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "Узел Ñompute %(host)s не найден."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10666,7 +10831,7 @@ msgstr "Ðайдена не ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть Ð´Ð»Ñ Ð¼Ð¾Ñта %s"
msgid "Found no network for bridge %s"
msgstr "Ðе найдена Ñеть Ð´Ð»Ñ Ð¼Ð¾Ñта %s"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10675,37 +10840,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
-#, fuzzy, python-format
-msgid "Unable to join %(host)s in the pool"
-msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
+#, python-format
+msgid "Unable to join %s in the pool"
+msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "Ðевозможно иÑпользовать глобальные Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñ‡Ð¸Ñ %(role_id)s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10716,77 +10881,77 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
#, fuzzy
msgid "Created VM"
msgstr "_Ñоздать: %s"
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "VBD не найдено Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "группа %s уже ÑущеÑтвует"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "Ðевозможно отÑоединить VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "Ðевозможно ликвидировать VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "Создана VBD %(vbd_ref)s Ð´Ð»Ñ Ð’Ðœ %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "Создана VBD %(vbd_ref)s Ð´Ð»Ñ Ð’Ðœ %(vm_ref)s, VDI %(vdi_ref)s."
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr "Ðевозможно ликвидировать VDI %s"
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10795,100 +10960,114 @@ msgstr ""
"Создан VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) "
"на %(sr_ref)s."
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, fuzzy, python-format
msgid "block device info: %s"
msgstr "block_device_list %s"
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
-#, fuzzy, python-format
-msgid "No primary VDI found for %(vm_ref)s"
-msgstr "ОтÑутÑтвует первичный VDI длÑ%(vm_ref)s"
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "ЗапуÑк Ñнимка Ð´Ð»Ñ Ð’Ðœ %s"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: nova/virt/xenapi/vm_utils.py:1062
#, fuzzy, python-format
msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
msgstr ""
"xapi 'download_vhd' возвратил VDI типа '%(vdi_type)s' Ñ UUID "
"'%(vdi_uuid)s'"
-#: nova/virt/xenapi/vm_utils.py:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ xapi на приём образа vhd %(image)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, 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:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, 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:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Получение образа %(image)s"
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Ядро не найдено Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %(image_id)s."
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -10897,204 +11076,204 @@ msgstr ""
"Превышен размер Ñдра/Ramdisk образа: %(vdi_size)d байт, макÑ. "
"%(max_size)d байт"
-#: nova/virt/xenapi/vm_utils.py:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Копирование VDI %s в /boot/guest на dom0"
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Ядро/Ramdisk VDI %s ликвидирован"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, 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:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "ПоиÑк vdi %s Ð´Ð»Ñ Ñдра PV"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
-msgstr "ÐеизвеÑтный формат образа %(disk_image_type)s"
+msgid "Unknown image format %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s до Ñих пор доÑтупен"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° SR %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr "Ðевозможно найти SR типа Ñодержимого ISO"
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
-msgstr "ISO: поиÑк SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr "ISO: не Ñодержимое iso типа"
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr "ISO: SR Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ PBD"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ Ñоздании уÑтройÑтва %s"
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "ПодÑоединение VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "ПодÑоединение VBD %s выполнено."
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, 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:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, 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:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Ликвидирование VBD Ð´Ð»Ñ VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Ликвидирование VBD Ð´Ð»Ñ VDI %s завершено."
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "Ðайдено Ñдро Xen %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "Ядро Xen не найдено. Загрузка HVM."
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11102,16 +11281,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr "Разделы:"
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d Ñекторов"
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11120,290 +11299,283 @@ msgstr ""
"ЗапиÑÑŒ таблицы разделов %(primary_first)d %(primary_last)d в "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "ЗапиÑÑŒ таблицы разделов %s выполнена."
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
"Ошибка приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы (ожидаемо Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¹ не на базе "
"linux): %s"
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
-#, fuzzy, python-format
-msgid "Updating progress to %(progress)d"
-msgstr "Обновление Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ '%(instance_uuid)s' до %(progress)d"
+#: 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:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "ЗапуÑк моÑта интерфейÑа Ð´Ð»Ñ %s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "ЗапуÑк копии %s"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr "Удаление Ñдра/ramdisk файлов из dom0"
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, fuzzy, python-format
msgid "Block device information present: %s"
msgstr "block_device_mapping %s"
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¼Ð° в базе данных"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
#, fuzzy
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
"ÐвтоматичеÑÐºÐ°Ñ Ð½Ð°Ñтройка диÑка Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_uuid)s, выполнÑетÑÑ "
"попытка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° раздела..."
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "Выполнение перезагрузки xvp"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr "ВерÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð° копии: %s"
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, fuzzy, python-format
msgid "Could not find VM with name %s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "Готовый Ñнимок и выгрузка Ð´Ð»Ñ Ð’Ðœ %s"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ vhd на новый узел"
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: nova/virt/xenapi/vmops.py:991
#, python-format
msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
msgstr "Изменение размера VDI %(vdi_uuid)s Ñ %(old_gb)dГБ до %(new_gb)dГБ"
-#: nova/virt/xenapi/vmops.py:1002
+#: nova/virt/xenapi/vmops.py:998
#, fuzzy
msgid "Resize complete"
msgstr "Изменение размера копии %s завершено"
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
#, fuzzy
msgid "Unable to find root VBD/VDI for VM"
msgstr "Ошибка поиÑка vbd Ð´Ð»Ñ vdi %s"
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "Выполнение перезагрузки xvp"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
#, fuzzy
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
"ÐšÐ¾Ð¿Ð¸Ñ %(instance_uuid)s иÑпользует RAW или VHD, пропуÑк Ñдра и удаление "
"ramdisk"
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ñодержит Ñдро или ramdisk, но не оба"
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "файлы Ñдра/ramdisk удалены"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "Выполнение перезагрузки xvp"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr "Ð’Ðœ не предоÑтавлена, пропуÑк Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð»Ð¸ÐºÐ²Ð¸Ð´Ð°Ñ†Ð¸Ð¸..."
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð² ÑоÑтоÑнии режима воÑÑтановлениÑ: %s"
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
#, fuzzy
msgid "VM is not present, skipping soft delete..."
msgstr "Ð’Ðœ не предоÑтавлена, пропуÑк Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð»Ð¸ÐºÐ²Ð¸Ð´Ð°Ñ†Ð¸Ð¸..."
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
#, fuzzy
msgid "Automatically hard rebooting"
msgstr "ÐвтоматичеÑÐºÐ°Ñ Ð±ÐµÐ·Ð¾Ñ‚ÐºÐ°Ð·Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° %d"
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "уÑтановка Ñетевого узла"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
#, fuzzy
msgid "Creating vifs"
msgstr "Создание изображениÑ"
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "Создание VIF Ð´Ð»Ñ Ð’Ðœ %(vm_ref)s, Ñеть %(network_ref)s."
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "Создание VIF Ð´Ð»Ñ Ð’Ðœ %(vm_ref)s, Ñеть %(network_ref)s."
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "ÐедопуÑтимый Ñетевой формат"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
#, fuzzy
msgid "Migrate Send failed"
msgstr "Ошибка ÑозданиÑ"
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Создание SR %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "Внедрение SR %s"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11453,25 +11625,25 @@ msgstr "Ðевозможно внедрить VDI Ð´Ð»Ñ SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
-msgstr "Ðевозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ %(data)s, %(mountpoint)s"
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#, python-format
+msgid "Unable to obtain target information %s"
+msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(connection_data)s"
-msgstr "Ðевозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ %(data)s, %(mountpoint)s"
+#: 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:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Подключить том %(volume_id)s Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s на %(device)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
+#: 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
@@ -11481,7 +11653,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11491,32 +11663,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)"
@@ -11536,3 +11708,9 @@ msgstr "Образ должен быть доÑтупен"
msgid "status must be 'available'"
msgstr "Образ должен быть доÑтупен"
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "Сертификат %(certificate_id)s не найден."
+
+#~ msgid "quantum authentication failed"
+#~ msgstr "Ошибка аутентификации"
+
diff --git a/nova/locale/ru_RU/LC_MESSAGES/nova.po b/nova/locale/ru_RU/LC_MESSAGES/nova.po
index 129d3b93e..7164fb764 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian (Russia) "
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -158,214 +158,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -373,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -459,863 +466,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1334,7 +1378,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1371,148 +1415,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1526,7 +1565,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 ""
@@ -1545,124 +1584,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1672,261 +1711,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1975,43 +2014,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2040,7 +2109,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2220,7 +2289,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2324,290 +2393,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2686,7 +2755,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2778,28 +2847,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2891,13 +2965,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2946,7 +3020,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2994,7 +3068,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3022,34 +3096,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3074,12 +3148,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3190,18 +3258,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3209,7 +3294,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3226,36 +3311,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3320,26 +3413,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3383,98 +3476,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3486,30 +3584,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3519,35 +3617,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3568,552 +3666,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4171,686 +4280,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4950,11 +5062,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4964,18 +5076,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5057,11 +5169,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5079,24 +5191,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5113,57 +5245,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5187,47 +5319,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5352,23 +5489,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5393,109 +5530,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5503,98 +5640,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5629,78 +5766,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5722,7 +5860,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5735,45 +5873,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5785,21 +5923,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6002,21 +6140,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6206,7 +6354,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6235,44 +6383,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6497,7 +6645,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6615,7 +6763,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6636,10 +6784,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6647,6 +6802,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6837,12 +6997,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6887,13 +7047,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6906,64 +7059,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6973,22 +7133,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7054,28 +7214,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7085,25 +7253,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7112,42 +7280,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7256,22 +7424,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7291,7 +7459,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7301,28 +7469,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7407,15 +7575,15 @@ 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 ""
@@ -7897,16 +8065,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8249,12 +8417,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8412,7 +8580,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8431,250 +8599,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8682,73 +8856,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8756,50 +8933,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8809,67 +8986,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8880,33 +9057,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9052,22 +9229,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. "
@@ -9075,17 +9252,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9122,14 +9299,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9137,7 +9314,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9145,7 +9322,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9153,7 +9330,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9161,87 +9338,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9345,26 +9522,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9510,32 +9687,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9545,39 +9722,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9586,38 +9763,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9660,57 +9837,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9718,311 +9895,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10085,7 +10261,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10094,12 +10270,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10108,116 +10284,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10233,75 +10404,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10333,7 +10504,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10342,37 +10513,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10383,371 +10554,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10755,282 +10940,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11079,24 +11257,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11107,7 +11285,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11117,32 +11295,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 ""
@@ -11160,3 +11338,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/sw_KE/LC_MESSAGES/nova.po b/nova/locale/sw_KE/LC_MESSAGES/nova.po
index e58a3fd35..e39a9da44 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Swahili (Kenya) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/tl/LC_MESSAGES/nova.po b/nova/locale/tl/LC_MESSAGES/nova.po
index a3e533e05..dc674ca30 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -457,863 +464,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1332,7 +1376,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1369,148 +1413,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1524,7 +1563,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 ""
@@ -1543,124 +1582,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1670,261 +1709,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1973,43 +2012,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2038,7 +2107,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2218,7 +2287,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2322,290 +2391,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2684,7 +2753,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2776,28 +2845,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2889,13 +2963,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2944,7 +3018,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2992,7 +3066,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3020,34 +3094,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3072,12 +3146,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3188,18 +3256,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3207,7 +3292,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3224,36 +3309,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3318,26 +3411,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3381,98 +3474,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3484,30 +3582,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3517,35 +3615,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3566,553 +3664,564 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "natanggap %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr "natanggap %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/tr/LC_MESSAGES/nova.po b/nova/locale/tr/LC_MESSAGES/nova.po
index be8f0300e..fb5e011e5 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,214 +156,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -371,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -457,863 +464,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1332,7 +1376,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1369,148 +1413,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1524,7 +1563,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 ""
@@ -1543,124 +1582,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1670,261 +1709,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1973,43 +2012,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2038,7 +2107,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2218,7 +2287,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2322,290 +2391,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2684,7 +2753,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2776,28 +2845,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2889,13 +2963,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2944,7 +3018,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2992,7 +3066,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3020,34 +3094,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3072,12 +3146,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3188,18 +3256,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3207,7 +3292,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3224,36 +3309,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3318,26 +3411,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3381,98 +3474,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3484,30 +3582,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3517,35 +3615,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3566,552 +3664,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4169,686 +4278,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4948,11 +5060,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4962,18 +5074,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5055,11 +5167,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5077,24 +5189,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5111,57 +5243,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5185,47 +5317,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5350,23 +5487,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5391,109 +5528,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5501,98 +5638,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5627,78 +5764,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5720,7 +5858,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5733,45 +5871,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5783,21 +5921,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6000,21 +6138,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6204,7 +6352,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6233,44 +6381,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6495,7 +6643,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6613,7 +6761,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6634,10 +6782,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6645,6 +6800,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6835,12 +6995,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6885,13 +7045,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6904,64 +7057,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6971,22 +7131,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7052,28 +7212,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7083,25 +7251,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7110,42 +7278,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7254,22 +7422,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7289,7 +7457,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7299,28 +7467,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7405,15 +7573,15 @@ 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 ""
@@ -7895,16 +8063,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8247,12 +8415,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8410,7 +8578,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8429,250 +8597,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8680,73 +8854,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8754,50 +8931,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8807,67 +8984,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8878,33 +9055,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9050,22 +9227,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. "
@@ -9073,17 +9250,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9120,14 +9297,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9135,7 +9312,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9143,7 +9320,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9151,7 +9328,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9159,87 +9336,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9343,26 +9520,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9508,32 +9685,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9543,39 +9720,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9584,38 +9761,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9658,57 +9835,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9716,311 +9893,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10083,7 +10259,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10092,12 +10268,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10106,116 +10282,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10231,75 +10402,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10331,7 +10502,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10340,37 +10511,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10381,371 +10552,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10753,282 +10938,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11077,24 +11255,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11105,7 +11283,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11115,32 +11293,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 ""
@@ -11158,3 +11336,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/tr_TR/LC_MESSAGES/nova.po b/nova/locale/tr_TR/LC_MESSAGES/nova.po
index f48e01251..9d2610a81 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -158,76 +158,83 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, 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:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "Anahtar çifti verisi geçersiz"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "İstek geçersiz"
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "Geçersiz giriş yapıldı"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "Geçersiz bölüm"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Geçersiz metadata"
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Geçersiz IP %(protocol)s."
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Geçersiz içerik türü %(content_type)s."
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Geçersiz CIDR %(cidr)s."
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "Hatalar: %(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -236,16 +243,16 @@ msgstr ""
"%(aggregate_id)s üzerinde '%(action)s' eylemi gerçekleştirilemiyor. "
"Nedeni: %(reason)s."
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -254,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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "%(instance_id)s örneği çalışmıyor."
-#: nova/exception.py:308
+#: nova/exception.py:319
#, 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:312
+#: nova/exception.py:323
#, 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:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "Şu anda servis kullanılamıyor."
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, 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:360
+#: nova/exception.py:371
#, 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:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr "Desteklenen hypervisor türü geçersiz."
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "Örnek şu ankinden daha yeni hypervisor versiyonu gerektirir."
-#: nova/exception.py:374
+#: nova/exception.py:385
#, 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:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "Desteklenen cihaz yolu (%(path)s) geçersiz."
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "Kabul edilemeyen CPU bilgisi"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, 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:400
+#: nova/exception.py:411
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -372,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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -383,85 +390,85 @@ msgstr ""
"iliÅŸkilendirilmemiÅŸtir. Beklenen vSwitch %(expected)s'dir, fakat "
"iliÅŸkilendirilen ise %(actual)s'dir."
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "%(disk_format)s disk formatı kabul edilemez."
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "%(image_id)s imajı kabul edilemez: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "%(instance_id)s örneği kabul edilemez: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "%(ec2_id)s Ec2 id'si kabul edilemez."
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Geçersiz CIDR %(cidr)s."
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "Kaynak bulunamadı."
-#: nova/exception.py:447
+#: nova/exception.py:458
#, 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:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "%(volume_id)s bölümü bulunamadı."
-#: nova/exception.py:455
+#: nova/exception.py:466
#, 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:459
+#: nova/exception.py:470
#, 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:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "%(location)s'da disk yok."
-#: nova/exception.py:467
+#: nova/exception.py:478
#, 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:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Geçersiz %(image_href)s imaj kaynak dosyası."
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "%(image_id)s imaj kaynak dosyası bulunamadı."
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -469,65 +476,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "%(project_id)s projesi bulunamadı."
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "VDI'ya okuma/yazma yapılırken SR(Saklama deposu) bulunamadı."
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "%(network_id)s ağı bulunamadı."
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr "AÄŸ oluÅŸturulurken %(req)s gereklidir."
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "%(network_id)s ağı bulunamadı."
-#: nova/exception.py:510
+#: nova/exception.py:521
#, 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:514
+#: nova/exception.py:525
#, 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:518
+#: nova/exception.py:529
#, 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:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "%(cidr)s CIDR ile bir ağ bulunamadı."
-#: nova/exception.py:526
+#: nova/exception.py:537
#, 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:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "Tanımlı bir ağ yok."
-#: nova/exception.py:534
+#: nova/exception.py:545
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -536,239 +543,234 @@ msgstr ""
"%(network_uuid)s aÄŸ UUID verilmedi veya %(project_id)s projesi ile "
"iliÅŸkilendirilmedi."
-#: nova/exception.py:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "VM'nin kullandığı veri deposu referansı(ları) bulunamadı."
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, 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:551
+#: nova/exception.py:562
#, 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:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "%(id)s ile iliÅŸkilendirilmiÅŸ bir dinamik IP yok."
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "%(address)s adresi için bir dinamik IP bulunamadı."
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, 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:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, 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:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "%(address)s dinamik IP adresi geçersiz."
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr "Kullanılabilir hiç dinamik IP yok."
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr "Hiç dinamik IP bulunamadı."
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, 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:616
+#: nova/exception.py:627
#, 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:620
+#: nova/exception.py:631
#, 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:624
+#: nova/exception.py:635
#, 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:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr "Hiç mevcut değişken IP yok."
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirildi."
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirilemedi."
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr "Hiç değişken IP yok."
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "%(interface)s arayüzü bulunamadı."
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, 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:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "%(certificate_id)s sertifikası bulunamadı"
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "%(host)s sunucusu bulunamadı."
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "%(host)s hesaplama sunucusu bulunamadı."
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "%(host)s sunucusunda %(binary)s ikilisi bulunamadı."
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "Kota bulunamadı."
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, 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:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "%(security_group_id)s güvenlik grubu bulunamadı."
-#: nova/exception.py:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "%(rule_id)s kurallı güvenlik grubu bulunamadı."
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -777,7 +779,7 @@ msgstr ""
"%(security_group_id)s güvenlik grubu zaten %(instance_id)s örneği ile "
"iliÅŸkilendirimiÅŸ."
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -786,37 +788,37 @@ msgstr ""
"%(security_group_id)s güvenlik grubu %(instance_id)s örneği ile "
"iliÅŸkilendirilmedi."
-#: nova/exception.py:746
+#: nova/exception.py:753
#, 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:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "%(migration_id)s göçü bulunamadı."
-#: nova/exception.py:764
+#: nova/exception.py:771
#, 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:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "%(pool_id)s konsol havuzu bulunamadı."
-#: nova/exception.py:773
+#: nova/exception.py:780
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -825,104 +827,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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "%(console_id)s konsolu bulunamadı."
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Geçersiz içerik türü %(content_type)s."
-#: nova/exception.py:796
+#: nova/exception.py:803
#, 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:800
+#: nova/exception.py:807
#, 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:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "%(flavor_id)s örnek türü bulunamadı."
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, 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:846
+#: nova/exception.py:857
#, 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:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -931,420 +938,457 @@ msgstr ""
"%(instance_type_id)s örnek türü %(extra_specs_key)s anahtarı ile ekstra "
"özelliklere sahip değil."
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "%(file_path)s dosyası bulunamadı."
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr "Hiç dosya bulunamadı."
-#: nova/exception.py:873
+#: nova/exception.py:884
#, 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:878
+#: nova/exception.py:889
#, 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:882
+#: nova/exception.py:893
#, 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:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "İşlem için izin verilmiyor."
-#: nova/exception.py:890
+#: nova/exception.py:901
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:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr "Yedek imajı geri dönüş parametresi gerekli"
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr "Geçiş hatası."
-#: nova/exception.py:931
+#: nova/exception.py:942
#, fuzzy
msgid "Migration pre-check error"
msgstr "Geçiş hatası."
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Hatalı biçimlendirilmiş mesaj gövdesi: %(reason)s"
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr "%(path)s'deki yapılandırma bulunamadı"
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
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:961
+#: nova/exception.py:976
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:965
+#: nova/exception.py:980
#, 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:969
+#: nova/exception.py:984
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:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "Geçerli bir sunucu bulunamadı: %(reason)s"
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "Kota aşıldı"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr "Kişisel dosya limiti aşıldı"
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr "Kişisel dosya yolu çok uzun"
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr "Kişisel dosya içeriği çok uzun"
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "%(aggregate_id)s kümesi bulunamadı."
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "%(aggregate_name)s kümesi zaten var."
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, 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:1038
+#: nova/exception.py:1053
#, 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:1043
+#: nova/exception.py:1058
#, 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:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr "Örnek tür oluşturulamıyor."
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "%(instance_id)s örneği bulunamadı."
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, 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:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "%(volume_id)s bölümü bulunamadı."
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "%(project_id)s projesi bulunamadı."
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, 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:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, 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:1198
+#: nova/exception.py:1213
#, 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:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Beklenen nesne türü: %s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1363,7 +1407,7 @@ msgstr "Yetenekler zamanlayıcısı bildiriliyor ..."
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Tekrar yükleme örneğinde hata oluştu."
@@ -1401,148 +1445,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr "%s servisi için tüketici bağlantısı oluşturuluyor."
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "Servis, hiç veritabanı girdisi olmayanı sonlandırdı."
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Yerel adres bağlantısı bulunamadı.:%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, 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:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "Geçersiz backend: %s"
-#: nova/utils.py:438
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Bilinmeyen temel dosya: %s"
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "Beklenen nesne türü: %s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr "Geçersiz server_string: %s"
-#: nova/utils.py:733
+#: nova/utils.py:696
#, 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:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "%s güvenlik grubu string veya unicode değil"
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1556,7 +1595,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 ""
@@ -1575,11 +1614,11 @@ msgstr "%(code)s: %(message)s"
msgid "FaultWrapper: %s"
msgstr "Hata yakalayıcı: %s"
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Çok sayıda kimlik doğrulama başarısız oldu."
-#: nova/api/ec2/__init__.py:183
+#: nova/api/ec2/__init__.py:184
#, python-format
msgid ""
"Access key %(access_key)s has had %(failures)d failed authentications and"
@@ -1588,114 +1627,114 @@ msgstr ""
"%(access_key)s erişim anahtarı %(failures)d kez yanlış girildi ve "
"%(lock_mins)d dakika boyunca kilitlenmiÅŸ olacak."
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr "Ä°mza verilmedi."
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr "Erişim anahtarı verilmedi."
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "Temel dosya kaldırılıyor: %s"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Çok sayıda kimlik doğrulama başarısız oldu."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "iÅŸlem: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s»»val: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "%(controller)s kontrolcüsü ve %(action)s işlemi için izinsiz istek"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "ÖrnekBulunamadı hatası: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "BölümBulunamadı hatası: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr "SistemAnlıkGörüntüsüBulunamadı hatası: %s"
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "Bulunamadı hatası: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr "AnahtarÇiftiZatenVar hatası: %s"
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, fuzzy, python-format
msgid "InvalidKeypair raised: %s"
msgstr "Geçersizİstek hatası: %s"
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr "GeçersizParametreDeğeri hatası: %s"
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr "GeçersizPortGenişliği hatası: %s"
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr "KimlikDoğrulama hatası: %s"
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr "Geçersizİstek hatası: %s"
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "BeklenmeyenHata: %s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr "Ortam: %s"
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "Bilinmeyen bir hata oluştu. Lütfen tekrar deneyin."
@@ -1705,261 +1744,261 @@ 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:391
+#: nova/api/ec2/cloud.py:402
#, 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:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "%s anahtar çiftini oluştur"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "%s anahtarını içeriye aktar"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "%s anahtar çiftini sil"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Geçersiz IP %(protocol)s."
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "Belirlenmiş parametreler için hiç kural yok"
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, 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:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr "%s sistem görüntüsünden birim oluştur"
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 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:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Birimi ayır %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "Özellik desteklenmiyor: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr "birim = %s\n"
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "Adres tahsisi"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "%s adresini serbest bırak"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "Adresi kes %s"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr "İmaj müsait olmak zorunda"
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "%r örneğini tekrar yükle"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr "Örnekler durdurulacak"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr "Örnekler başlatılacak"
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "%s imaj kaydı siliniyor"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "Kullanıcı veya grup belirlenmedi"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "Sadece \"all\" grubu destekleniyor"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "İşlem türü eklenmek veya kaldırılmak zorunda"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "%s imaj tanıtımı güncelleniyor"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "%d saniye içinde örnek durdurulamadı"
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -2009,26 +2048,26 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "IP için metadata alma hata ile sonuçlandı: %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "Yakalama hatası: %s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s HTTP %(status)d ile geri döndü"
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr "UzantıYöneticisi sınıfı belirlenmek zorunda"
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr "GeniÅŸletilmiÅŸ kaynak: %s"
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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 "
@@ -2037,17 +2076,47 @@ msgstr ""
"%(ext_name)s uzantısı: %(collection)s kaynağı genişletilemiyor: Böyle bir"
" kaynak yok"
-#: nova/api/openstack/__init__.py:209 nova/api/openstack/__init__.py:341
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "%(ext_name)s uzantısı kaynağı genişletiyor: %(collection)s"
-#: nova/api/openstack/__init__.py:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "Genişletme fabrikası çağırılıyor %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "Genişletme yükleniyor: %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "Genişletme yükleniyor: %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2076,7 +2145,7 @@ msgid "offset param must be positive"
msgstr "Göreli konum parametresi pozitif olmak zorunda"
#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
-#: nova/api/openstack/compute/plugins/v3/servers.py:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr " [%s] göstergesi bulunamadı"
@@ -2256,7 +2325,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2362,299 +2431,299 @@ msgid "Metadata item was not found"
msgstr "İçerik özelliği bilgisi bulunamadı"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Geçersiz değişiklik-oluşturma değeri"
#: nova/api/openstack/compute/servers.py:540
-#: nova/api/openstack/compute/plugins/v3/servers.py:587
+#: 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:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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 "Örnek bulunamadı."
-#: nova/api/openstack/compute/servers.py:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: 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"
@@ -2734,7 +2803,7 @@ msgstr "yedekOluşturma 'dönüşme' özelliği tamsayı olmak zorunda"
#: 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "Örnek bulunamadı"
@@ -2829,29 +2898,34 @@ msgstr "%s VLAN arayüzü başlatılıyor "
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "Kural (%s) bulunamadı"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Güvenlik grup adı boş bırakılamaz"
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2949,13 +3023,13 @@ msgstr "Sunucu ve blok_göçü tanımlanmak zorunda."
msgid "Error in evacuate, %s"
msgstr "Göçte hata %s"
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3005,7 +3079,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr "Parametre dizini eksik"
@@ -3054,7 +3128,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3083,34 +3157,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "Sunucu durumu güncelleniyor"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3135,12 +3209,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr "'%s' anahtar çifti zaten var."
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr "addFixedlp için 'networkld' argümanı bulunamadı"
@@ -3254,26 +3322,43 @@ msgstr ""
msgid "Create networks failed"
msgstr "Tanımlı bir ağ yok."
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
-#, fuzzy, python-format
-msgid "Quota for %s should be integer."
-msgstr "Sürüm tam sayı olmak zorunda"
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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 "Bozuk scheduler_hints özelliği"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "Geçerli bir kuralı oluşturmak için yeterli parametre yok."
@@ -3292,38 +3377,45 @@ 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:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, 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:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr "Güvenlik grubu belirlenmedi"
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr "Güvenlik grup adı boş bırakılamaz"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "Tanınmayan zincir: %r"
+#: 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:135
+#: 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
#, fuzzy
msgid "Unknown service"
msgstr "Kimlik doğrulama hatası"
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3388,26 +3480,26 @@ msgstr "%s adresini serbest bırak"
msgid "Unreserving IP address %s"
msgstr "%s adresini serbest bırak"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3451,99 +3543,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3555,30 +3652,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3588,35 +3685,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "eleman çocuk değil"
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3637,435 +3734,445 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Başlangıç adresi"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: 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:325
+#: 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:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: 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:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Ağ bulunamadı"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: 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:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "%r örneğini tekrar yükle"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "BeklenmeyenHata: %s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "proje"
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: 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:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Örnek mevcut değil"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "Kimlik doğrulama hatası"
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, 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:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4074,130 +4181,131 @@ msgstr ""
"Eski örnek türü %(current_instance_type_name)s, yeni örnek türü "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, 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:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr "%s güvenlik grubu boş bırakılamaz."
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, 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:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "%s güvenlik grubunu oluşturunuz"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr "%s güvenlik grubu zaten var"
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Geçersiz güncelleme ayarı: '%s'"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr "Kural (%s) bulunamadı"
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Yetkilendirilmiş %s güvenlik grubu girişi"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "%s güvenlik grubu girişini iptal et"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr "Güvenlik grup id'si integer olmak zorunda"
@@ -4255,610 +4363,613 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: 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"
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr "Silme işlemi için %s örnek türü bulunamadı"
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, 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:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, 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:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
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:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "BeklenmeyenHata: %s"
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr "Durum kontrol ediliyor"
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr "%s blok aygıt haritalandırması ayarlanıyor"
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Örnek oluşturmada hata"
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr "Örnek başlatılıyor.."
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr "Ağ kurulumundaki örnek başarısız"
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Örnek ağ_bilgisi: |%s|"
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr "Örnek blok aygıtı kurulumu hatalı"
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr "Örnek oluşturmada hata"
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr "Örnek için ağ serbest bırakılıyor"
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr "%(action_str)s örneği"
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Örnek için ağ serbest bırakılıyor"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr "%(action_str)s örneği"
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "DiskBulunamadı yok sayılıyor: %s"
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr "Blok cihazı haritalandırması kapatılıyor %s"
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Birimi ayır %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, 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:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "Ä°maj siliniyor %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, 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:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "Örneğin hiç bölümü yok."
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr "dedef kaynak ile aynı!"
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "Konsol ekleniyor"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, 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:2964
+#: nova/compute/manager.py:3055
#, 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:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, 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:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "%(volume_id)s bölümü hiçbir şeyle ilişkilendirilmedi"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "%(host)s sunucusu bulunamadı."
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
-msgstr "Güncel göç işlemi %(dest)s'da bir hata ile karşılaştı"
+msgid "Pre live migration failed at %s"
+msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
-msgstr "%(dest)s'a örnek göçü işlemi başarıyla tamamlandı."
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr "Bant genişliği kullanım önbelleği güncelleniyor"
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Bant genişliği kullanım önbelleği güncelleniyor"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr "Sunucu durumu güncelleniyor"
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -4867,84 +4978,84 @@ msgstr ""
"Veritabanında %(num_db_instances)s ve misafir sistemde "
"%(num_vm_instances)s bulundu"
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr "Silinen örnek kurtarılıyor"
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Ä°maj siliniyor %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5045,11 +5156,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: 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"
@@ -5059,18 +5170,18 @@ msgstr "%s örneği için sunucu bulma başarısız"
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5154,11 +5265,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "Tekrar yükleme örneğinde hata oluştu."
@@ -5177,24 +5288,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Tanınmayan silinmiş okuma değeri '%s'"
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "%s geçerli bir örnek ismidir"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "%s geçerli bir örnek ismidir"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "%s geçerli bir örnek ismidir"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "%s geçerli bir örnek ismidir"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5211,57 +5342,57 @@ msgstr "Sürüm tam sayı olmak zorunda"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Desteklenmeyen içerik türü"
@@ -5286,47 +5417,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: 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:372
+#: 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:396
+#: 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 "Özel anahtar çözümü başarısız: %s"
-#: nova/image/s3.py:403
+#: 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:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "İmajda güvenliksiz dosya isimleri var"
@@ -5452,23 +5588,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr "Bu türücü sadece 'a' türü girdileri destekliyor."
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5493,109 +5629,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "%d süreç numarası bozuldu, radvd tekrar başlatılıyor"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "%s VLAN arayüzü başlatılıyor "
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "%s köprüsü koruma altına alınıyor"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, 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:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5603,98 +5739,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5730,80 +5866,80 @@ msgstr "sil: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5825,7 +5961,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Yakalama hatası: %s"
@@ -5840,48 +5976,48 @@ msgstr "%s güvenlik grubunu siliniz"
msgid "Security group id should be uuid"
msgstr "Güvenlik grup id'si integer olmak zorunda"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "Yakalama hatası: %s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, 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:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5895,22 +6031,22 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Bu kural zaten grupta var %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "XVP başlatılırken hata oluştu: %s"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
#, fuzzy
msgid "Invalid version string"
msgstr "Geçersiz server_string: %s"
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6113,21 +6249,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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ı."
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6317,7 +6463,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6346,44 +6492,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr "AMQP kuyrukları tekrar kuruluyor"
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6609,7 +6755,7 @@ msgstr "Başka bir işlem bulunamadı"
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6727,7 +6873,7 @@ msgstr "%s işlem ID'si için servis yok"
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: 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"
@@ -6748,10 +6894,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6759,6 +6912,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6950,12 +7108,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7002,13 +7160,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7021,65 +7172,72 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "Örnekler çalışıyor: %s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "Örnekleri sonlandırmanın ardından: %s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "İçsel hata"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr "Zorla öldürülen örneklerin ardından: %s"
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
#, fuzzy
msgid "spawn error"
msgstr "Kimlik doğrulama hatası"
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7089,22 +7247,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7174,28 +7332,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr " [%s] göstergesi bulunamadı"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr "Lütfen sahte libvirt modülü desteklenen bayraklar için genişletiniz"
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, 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:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "%s'deki benzetilmiş konuk aracı dosyaları kaldırılıyor"
@@ -7205,25 +7371,25 @@ msgstr "%s'deki benzetilmiş konuk aracı dosyaları kaldırılıyor"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Sanallaştırma sürücüsü yükleme başarısız: %s"
@@ -7233,42 +7399,42 @@ 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:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7380,22 +7546,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7415,7 +7581,7 @@ msgstr "%s örneği için konsol çıktısını getir"
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:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7425,28 +7591,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, 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:377
+#: nova/virt/baremetal/tilera.py:368
#, 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:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "%s örneği için sunucu bulma başarısız"
@@ -7532,15 +7698,15 @@ 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 ""
@@ -8023,16 +8189,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "%s adresini serbest bırak"
@@ -8377,12 +8543,12 @@ msgstr ""
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:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8541,7 +8707,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8560,253 +8726,259 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Örnekler durdurulacak"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8814,73 +8986,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8888,21 +9063,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -8911,29 +9086,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:3001
+#: nova/virt/libvirt/driver.py:3077
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:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8948,7 +9123,7 @@ msgstr ""
" \n"
" Bkz: %(u)s"
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -8957,62 +9132,62 @@ 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, 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:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr "Birim gibi göründüğünden beri %(path)s atlanıyor"
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -9023,33 +9198,33 @@ msgid ""
"correctly."
msgstr "Libvirt modülü yüklenemedi. Ağ filtre güvenlik duvarı doğru çalışmıyor."
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr "Ağ filtresinde temel filtreleme kurulumu çağırıldı"
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr "Durağan filtreler koruma altına alındı"
-#: nova/virt/libvirt/firewall.py:247
+#: 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ı."
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, 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:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptabloları güvenlik duvarı: Temel Filtreleme Kurulumu"
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9197,22 +9372,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. "
@@ -9220,17 +9395,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9267,14 +9442,14 @@ msgstr "%s köprüsü koruma altına alınıyor"
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9282,7 +9457,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9290,7 +9465,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9298,7 +9473,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,88 +9481,88 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr "%s'de iSCSI cihazı bulunamadı"
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "%s'de iSCSI cihazı bulunamadı"
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
#, fuzzy
msgid "Fibre Channel device not found."
msgstr "%s'de iSCSI cihazı bulunamadı"
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9491,26 +9666,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9656,32 +9831,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr " [%s] göstergesi bulunamadı"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9691,39 +9866,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9732,38 +9907,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr "iÅŸlem: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9806,57 +9981,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9864,311 +10039,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, 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:996
+#: nova/virt/vmwareapi/vmops.py:972
#, 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:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10231,7 +10405,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10241,12 +10415,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "%r adresini bulmak olanaksız"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10256,116 +10430,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr "Geçersiz bölüm"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10381,75 +10550,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "%(host)s hesaplama sunucusu bulunamadı."
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10481,7 +10650,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10490,37 +10659,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10531,373 +10700,387 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, 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:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10905,285 +11088,278 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "Örnek tür oluşturulamıyor."
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "XVP tekar başlatılıyor"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "Hatalı ağ biçimi"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11233,24 +11409,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "%(device)s'daki %(instance_id)s örneğine %(volume_id)s birimini bağla"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11261,7 +11437,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11271,32 +11447,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 ""
@@ -11316,3 +11492,9 @@ msgstr "İmaj müsait olmak zorunda"
msgid "status must be 'available'"
msgstr "İmaj müsait olmak zorunda"
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "%(certificate_id)s sertifikası bulunamadı"
+
+#~ msgid "quantum authentication failed"
+#~ msgstr "Kimlik doğrulama hatası"
+
diff --git a/nova/locale/uk/LC_MESSAGES/nova.po b/nova/locale/uk/LC_MESSAGES/nova.po
index 156b0460c..6095be0c7 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,125 +1583,125 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "Занадто багато невдалих аутентифікацій."
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "Занадто багато невдалих аутентифікацій."
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1672,262 +1711,262 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Це правило вже Ñ–Ñнує в групі %s"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Створити розділ на %s ГБ"
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Від'єднати том %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Від'єднати том %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "лише група \"вÑÑ–\" підтримуєтьÑÑ"
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1976,43 +2015,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2041,7 +2110,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2221,7 +2290,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2325,290 +2394,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2687,7 +2756,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2779,28 +2848,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2892,13 +2966,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2947,7 +3021,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2995,7 +3069,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3023,34 +3097,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "ÐžÐ³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "ÐžÐ³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ %s"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3075,12 +3149,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3191,18 +3259,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3210,7 +3295,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3228,36 +3313,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3322,26 +3415,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3385,98 +3478,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3488,30 +3586,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3521,35 +3619,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3570,553 +3668,564 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "отримано %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4174,687 +4283,690 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4954,11 +5066,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4968,18 +5080,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5061,11 +5173,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5083,24 +5195,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5117,57 +5249,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5191,47 +5323,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5356,23 +5493,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5397,109 +5534,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5507,98 +5644,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5633,78 +5770,79 @@ msgstr "отримано %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5726,7 +5864,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5740,45 +5878,45 @@ msgstr "Вилучити групу безпеки %s"
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5790,21 +5928,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr "Це правило вже Ñ–Ñнує в групі %s"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6007,21 +6145,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6211,7 +6359,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6240,44 +6388,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6502,7 +6650,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6620,7 +6768,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6641,10 +6789,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6652,6 +6807,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6842,12 +7002,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6892,13 +7052,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6911,64 +7064,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6978,22 +7138,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7059,28 +7219,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7090,25 +7258,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7117,42 +7285,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7261,22 +7429,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7296,7 +7464,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7306,28 +7474,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7412,15 +7580,15 @@ 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 ""
@@ -7902,16 +8070,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8254,12 +8422,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8417,7 +8585,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8436,250 +8604,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8687,73 +8861,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8761,50 +8938,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8814,67 +8991,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8885,33 +9062,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9057,22 +9234,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. "
@@ -9080,17 +9257,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9127,14 +9304,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9142,7 +9319,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9150,7 +9327,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9158,7 +9335,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9166,87 +9343,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9350,26 +9527,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9515,32 +9692,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9550,39 +9727,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9591,38 +9768,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9665,57 +9842,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9723,311 +9900,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Від'єднати том %s"
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Від'єднати том %s"
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10090,7 +10266,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10099,12 +10275,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10113,116 +10289,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10238,75 +10409,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "ÐžÐ³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10338,7 +10509,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10347,37 +10518,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10388,371 +10559,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10760,282 +10945,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "Від'єднати том %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11085,24 +11263,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11113,7 +11291,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11123,32 +11301,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 ""
@@ -11166,3 +11344,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/vi_VN/LC_MESSAGES/nova.po b/nova/locale/vi_VN/LC_MESSAGES/nova.po
index 23b5ac38c..f5eec9a87 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-13 19:22+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Vietnamese (Viet Nam) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/zh_CN/LC_MESSAGES/nova.po b/nova/locale/zh_CN/LC_MESSAGES/nova.po
index ebaa9aba2..55d5c6e95 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr "å—设备列表 block_device_list %s"
@@ -159,217 +159,224 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "å· %(volume_id)s 没有附加任何东西"
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "密钥对数æ®æ— æ•ˆ"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr "请求无效。"
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr "收到无效的输入"
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr "无效的å·"
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "无效的元数æ®"
-#: nova/exception.py:255
+#: nova/exception.py:266
#, fuzzy
msgid "Invalid metadata size"
msgstr "无效的元数æ®é”®"
-#: nova/exception.py:259
+#: nova/exception.py:270
#, 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:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "无效的IPåè®® %(protocol)s。"
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "无效的内容类型 %(content_type)s。"
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "无效的cidr %(cidr)s。"
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:286
+#: nova/exception.py:297
#, 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:291
+#: nova/exception.py:302
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "找ä¸åˆ°æœ‰æ•ˆä¸»æœºï¼ŒåŽŸå› æ˜¯ %(reason)s。"
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "实例 %(instance_id)s 没有è¿è¡Œã€‚"
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:312
+#: nova/exception.py:323
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:316
+#: nova/exception.py:327
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "实例 %(instance_id)s 没有挂起。"
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr "挂起实例失败"
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "注入文件失败:%(resp)r"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:332
+#: nova/exception.py:343
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:340
+#: nova/exception.py:351
#, fuzzy
msgid "Failed to terminate instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr "此时的付ä¸å¯ç”¨ã€‚"
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "此时的计算æœåŠ¡ä¸å¯ç”¨ã€‚"
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "无法把实例 (%(instance_id)s) è¿ç§»åˆ°å½“å‰ä¸»æœº (%(host)s)。"
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr "æ供的虚拟机管ç†ç¨‹åºç±»åž‹æ— æ•ˆã€‚"
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "该实例需è¦æ¯”当å‰ç‰ˆæœ¬æ›´æ–°çš„虚拟机管ç†ç¨‹åºã€‚"
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr "æ供的ç£ç›˜è·¯å¾„ (%(path)s) å·²ç»å­˜åœ¨ï¼Œé¢„计是ä¸å­˜åœ¨çš„。"
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:383
+#: nova/exception.py:394
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:388
+#: nova/exception.py:399
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr "无法接å—çš„CPUä¿¡æ¯"
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s ä¸æ˜¯æœ‰æ•ˆçš„IP v4/6地å€ã€‚"
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,86 +386,86 @@ msgstr ""
"包å«ç«¯å£ç»„ %(bridge)s çš„vSwitch没有与预计的物ç†é€‚é…器关è”。预计的vSwitch是 %(expected)s,但关è”的是 "
"%(actual)s。"
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "ç£ç›˜æ ¼å¼ %(disk_format)s ä¸èƒ½æŽ¥å—"
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "é•œåƒ %(image_id)s 无法接å—,原因是: %(reason)s"
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "实例 %(instance_id)s 无法接å—,原因是: %(reason)s"
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s 无法接å—。"
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "无效的cidr %(cidr)s。"
-#: nova/exception.py:437
+#: nova/exception.py:448
#, fuzzy
msgid "Constraint not met."
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr "资æºæ²¡æœ‰æ‰¾åˆ°ã€‚"
-#: nova/exception.py:447
+#: nova/exception.py:458
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "没有固定IP与id %(id)s å…³è”。"
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "å· %(volume_id)s 没有找到。"
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "æ²¡æœ‰ä¸ºå· %(volume_id)s 找到目标id。"
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr "在 %(location)s 没有ç£ç›˜"
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "无法为 %(driver_type)s å·æ‰¾åˆ°å¥æŸ„。"
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "无效的镜åƒhref %(image_href)s。"
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "é•œåƒ %(image_id)s 没有找到。"
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -466,872 +473,909 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "项目 %(project_id)s 没有找到。"
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr "没有找到存储库æ¥è¯»å†™VDI。"
-#: nova/exception.py:494
+#: nova/exception.py:505
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:498
+#: nova/exception.py:509
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr "创建网络 %(req)s 是必è¦çš„。"
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:510
+#: nova/exception.py:521
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "无法为桥 %(bridge)s 找到网络"
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "无法为uuid %(uuid)s 找到网络"
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "无法为cidr %(cidr)s 找到网络。"
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr "没有网络定义。"
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "无法找到虚拟机使用的数æ®å­˜å‚¨å¼•ç”¨ã€‚"
-#: nova/exception.py:543
+#: nova/exception.py:554
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:547
+#: nova/exception.py:558
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:551
+#: nova/exception.py:562
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "没有固定IP与id %(id)s å…³è”。"
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "æ²¡æœ‰ä¸ºåœ°å€ %(address)s 找到固定IP。"
-#: nova/exception.py:563
+#: nova/exception.py:574
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "实例 %(instance_id)s 没有固定ip。"
-#: nova/exception.py:567
+#: nova/exception.py:578
#, 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:572
+#: nova/exception.py:583
#, 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:576
+#: nova/exception.py:587
#, 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:581
+#: nova/exception.py:592
#, 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:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "固定IPåœ°å€ %(address)s 无效。"
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr "没有固定ipå¯ç”¨ã€‚"
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr "找ä¸åˆ°å›ºå®šIP。"
-#: nova/exception.py:608
+#: nova/exception.py:619
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "找ä¸åˆ°é€‚åˆid %(id)s 的浮动IP。"
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "DNS å…¥å£ %(name)s å·²ç»åœ¨åŸŸä¸­ %(domain)s 存在。"
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "找ä¸åˆ°é€‚åˆåœ°å€ %(address)s 的浮动ip。"
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "没有为主机 %(host)s 找到浮动IP。"
-#: nova/exception.py:628
+#: nova/exception.py:639
#, fuzzy, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "找ä¸åˆ°é€‚åˆåœ°å€ %(address)s 的浮动ip。"
-#: nova/exception.py:632
+#: nova/exception.py:643
#, fuzzy
msgid "Floating ip pool not found."
msgstr "没有找到floating_ip"
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr "没有浮动IPå¯ç”¨ã€‚"
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "浮动ip %(address)s 没有被关è”。"
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr "没有浮动ip存在。"
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr "æŽ¥å£ %(interface)s没有找到。"
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "密钥对 %(name)s 没有为用户 %(user_id)s 找到。"
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "è¯ä¹¦ %(certificate_id)s 没有找到。"
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "æœåŠ¡ %(service_id)s 没有找到。"
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr "主机 %(host)s 没有找到。"
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "计算主机 %(host)s 没有找到。"
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "没有找到二进制 %(binary)s 在主机 %(host)s 上。"
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr "é…é¢æ²¡æœ‰æ‰¾åˆ°ã€‚"
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:707
+#: nova/exception.py:714
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "找ä¸åˆ°ç±» %(class_name)s :异常 %(exception)s"
-#: nova/exception.py:711
+#: nova/exception.py:718
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:715
+#: nova/exception.py:722
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "用户 %(user_id)s 没有找到。"
-#: nova/exception.py:719
+#: nova/exception.py:726
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "扩展资æºï¼š%s"
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "安全组 %(security_group_id)s 没有找到。"
-#: nova/exception.py:727
+#: nova/exception.py:734
#, 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:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/exception.py:736
+#: nova/exception.py:743
#, 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:741
+#: nova/exception.py:748
#, 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:746
+#: nova/exception.py:753
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "è¿ç§» %(migration_id)s 没有找到。"
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "没有为实例 %(instance_id)s 找到è¿ç§»å…¶çŠ¶æ€ä¸º %(status)s 。"
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "控制å°æ±  %(pool_id)s 没有找到。"
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "控制å°%(console_id)s 没有找到。"
-#: nova/exception.py:783
+#: nova/exception.py:790
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "没有为实例 %(instance_id)s 找到控制å°ã€‚"
-#: nova/exception.py:787
+#: nova/exception.py:794
#, 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:792
+#: nova/exception.py:799
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "无效的控制å°ç±»åž‹ %(console_type)s "
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "实例类型 %(instance_type_id)s 没有找到。"
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "å为 %(instance_type_name)s 的实例类型没有找到。"
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "类型 %(flavor_id)s 没有找到。"
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "å·ç»„ %s ä¸å­˜åœ¨"
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "等待RPCå“应超时:%s"
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "调度器主机过滤器 %(filter_name)s 没有找到。"
-#: nova/exception.py:850
+#: nova/exception.py:861
#, 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:855
+#: nova/exception.py:866
#, 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:860
+#: nova/exception.py:871
#, 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:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "找ä¸åˆ°æ–‡ä»¶ %(file_path)s。"
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr "没找到文件"
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr "未找到与网络适é…器 %(adapter)s å…³è”的虚拟交æ¢æœºã€‚"
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "未找到网络适é…器 %(adapter)s。"
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "找ä¸åˆ°ç±» %(class_name)s :异常 %(exception)s"
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr "æ“作ä¸å…许。"
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr "å¿«ç…§ä¸å…许循环。"
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr "备份 image_type è¦æ±‚循环å‚数。"
-#: nova/exception.py:898
-#, python-format
-msgid "Key pair %(key_name)s already exists."
+#: nova/exception.py:909 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:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr "实例 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:906
+#: nova/exception.py:917
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:910
+#: nova/exception.py:921
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, fuzzy, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/exception.py:923
+#: nova/exception.py:934
#, fuzzy, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr "è¿ç§»é”™è¯¯"
-#: nova/exception.py:931
+#: nova/exception.py:942
#, fuzzy
msgid "Migration pre-check error"
msgstr "è¿ç§»é”™è¯¯"
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "错误格å¼çš„消æ¯ä½“: %(reason)s"
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr "在 %(path)s 找ä¸åˆ°é…置文件。"
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr "无法从路径 %(path)s 中加载应用 '%(name)s'"
-#: nova/exception.py:949
+#: nova/exception.py:960
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "调整时实例的大å°å¿…é¡»è¦å‘生å˜åŒ–。"
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr "实例类型的内存对于所请求的镜åƒå¤ªå°ã€‚"
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr "实例类型的ç£ç›˜å¯¹äºŽæ‰€è¯·æ±‚çš„é•œåƒå¤ªå°ã€‚"
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "没有足够的å¯ç”¨å†…å­˜æ¥å¯åŠ¨è®¡ç®—节点 %(uuid)s。"
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr "无法获å–此主机的带宽ã€CPUå’Œç£ç›˜æŒ‡æ ‡ã€‚"
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "找ä¸åˆ°æœ‰æ•ˆä¸»æœºï¼ŒåŽŸå› æ˜¯ %(reason)s。"
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr "超出é…é¢"
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:993
+#: nova/exception.py:1008
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr "超过个性化文件é™åˆ¶"
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr "个性化文件路径太长"
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr "个性化文件内容太长"
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
#, fuzzy
msgid "Maximum number of key pairs exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1017
+#: nova/exception.py:1032
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, 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:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "找ä¸åˆ°èšåˆ %(aggregate_id)s。"
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "èšåˆ %(aggregate_name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr "èšåˆ %(aggregate_id)s没有主机 %(host)s。"
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, 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:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr "èšåˆ %(aggregate_id)så·²ç»æœ‰ä¸»æœº %(host)s。"
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr "无法创建实例类型。"
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, fuzzy, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, fuzzy, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "检测到已存在的id为%(vlan) vlan"
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "实例 %(instance_id)s 没有找到。"
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "没有为实例 %(instance_id)s 找到控制å°ã€‚"
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "å· %(volume_id)s 没有找到。"
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "é•œåƒ %(image_id)s 没有找到。"
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, fuzzy, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr "没有为主机 %(host)s 找到浮动IP。"
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "没有找到实例 %(instance_id)s"
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "释放实例的网络"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "释放实例的网络"
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, 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:1149
+#: nova/exception.py:1164
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "密钥对 %(name)s 没有为用户 %(user_id)s 找到。"
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "项目 %(project_id)s 没有找到。"
-#: nova/exception.py:1166
+#: nova/exception.py:1181
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "期望的对象类型:%s"
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1350,7 +1394,7 @@ msgstr "å‘调度器通报能力。"
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
#, fuzzy
msgid "Failed to get nw_info"
msgstr "为ip: %s获å–元数æ®å¤±è´¥"
@@ -1388,148 +1432,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, fuzzy, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr "å¯åŠ¨ %(topic)s 节点 (版本 %(vcs_string)s)"
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr "为æœåŠ¡ %s 创建消费者"
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr "å› æ— æ•°æ®åº“记录,æœåŠ¡å·²è¢«ä¸­æ­¢"
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr "回调中debug:%s"
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "本地IP地å€æ²¡æœ‰æ‰¾åˆ°ï¼š%s"
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "无法连接到 %(interface)s 的本地IP:%(ex)s"
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr "无效的åŽå°ï¼š%s"
-#: nova/utils.py:438
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "未知的基文件:%s"
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr "期望的对象类型:%s"
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr "ä¸æ­£ç¡®çš„server_string:%s"
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc:'%(name)s' 用了%(total_time).2f 秒"
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, fuzzy, python-format
msgid "Reloading cached file %s"
msgstr "正在删除基文件:%s"
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "移除容器失败:%s"
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "æœåŠ¡å™¨å称ä¸æ˜¯å­—符串或者unicode"
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, fuzzy, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr "密钥对å称长度必须在1到255个字符之间"
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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'"
@@ -1543,7 +1582,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 ""
@@ -1562,125 +1601,125 @@ msgstr "%(code)s: %(message)s"
msgid "FaultWrapper: %s"
msgstr "FaultWrapper: %s"
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr "认è¯å¤±è´¥è¿‡å¤š"
-#: nova/api/ec2/__init__.py:183
+#: 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 "访问密钥 %(access_key)s 有错误 %(failures)d,认è¯å¤±è´¥å°†è¢«é”定 %(lock_mins)d 分钟。"
-#: nova/api/ec2/__init__.py:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr "ç­¾å没有æä¾›"
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr "访问密钥没有æä¾›"
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr "与keystone交æµå¤±è´¥"
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, fuzzy, python-format
msgid "Keystone failure: %s"
msgstr "预在线è¿ç§»åœ¨%(dest)s失败"
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
#, fuzzy
msgid "Timestamp failed validation."
msgstr "认è¯å¤±è´¥è¿‡å¤š"
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr "执行: %s"
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr "arg: %(key)s\t\tval: %(value)s"
-#: nova/api/ec2/__init__.py:413
+#: nova/api/ec2/__init__.py:414
#, python-format
msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
msgstr "为controller=%(controller)s ä»¥åŠ action=%(action)s未验è¯çš„请求"
-#: nova/api/ec2/__init__.py:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr "引起异常 InstanceNotFound: %s"
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr "引起异常 VolumeNotFound: %s"
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr "引起异常 SnapshotNotFound: %s"
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr "引起异常 NotFound: %s"
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr "引起异常 KeyPairExists: %s"
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, fuzzy, python-format
msgid "InvalidKeypair raised: %s"
msgstr "引起异常 InvalidRequest: %s"
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr "引起异常 InvalidParameterValue: %s"
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr "引起异常 InvalidPortRange: %s"
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr "引起异常 NotAuthorized: %s"
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr "引起异常 InvalidRequest: %s"
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, fuzzy, python-format
msgid "QuotaError raised: %s"
msgstr "引起æ„外的错误:%s"
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr "引起æ„外的错误:%s"
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr "Environment: %s"
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 "å‘生了一个未知的错误. 请é‡è¯•ä½ çš„请求."
@@ -1690,274 +1729,274 @@ msgstr "å‘生了一个未知的错误. 请é‡è¯•ä½ çš„请求."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "ä¸æ”¯æŒçš„API请求:controller = %(controller)s,action = %(action)s"
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr "åˆ›å»ºå· %s çš„å¿«ç…§"
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr "创建密钥对 %s"
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr "导入密钥 %s"
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr "删除密钥对 %s"
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "å‚æ•°ä¸å¤Ÿåˆ›å»ºæœ‰æ•ˆè§„则。"
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "无效的IPåè®® %(protocol)s。"
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr "对给定的å‚数无特定规则。"
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "è¿™æ¡è§„则已ç»å­˜åœ¨äºŽç»„%s 中"
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr "从快照 %s 创建å·"
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "创建 %s GBçš„å·"
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
#, fuzzy
msgid "Delete Failed"
msgstr "创建失败"
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, 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:887
+#: nova/api/ec2/cloud.py:896
#, fuzzy
msgid "Attach Failed."
msgstr "创建失败"
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "åˆ†ç¦»å· %s"
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
#, fuzzy
msgid "Detach Volume Failed."
msgstr "åˆ†ç¦»å· %s"
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr "属性ä¸æ”¯æŒ: %s"
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr "分é…地å€"
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
#, fuzzy
msgid "No more floating IPs available"
msgstr "没有更多的浮动ip。"
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
#, fuzzy
msgid "Unable to release IP Address."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, 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:1259
+#: nova/api/ec2/cloud.py:1269
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
#, fuzzy
msgid "Floating ip is already associated."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "没有浮动IPå¯ç”¨ã€‚"
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr "å–æ¶ˆåœ°å€ %s çš„å…³è”"
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
#, fuzzy
msgid "Floating ip is not associated."
msgstr "浮动ip %(address)s 没有被关è”。"
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr "é•œåƒå¿…é¡»å¯ç”¨ã€‚"
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr "准备开始终止实例"
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr "é‡å¯å®žä¾‹ %r"
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr "准备åœæ­¢å®žä¾‹"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr "准备å¯åŠ¨å®žä¾‹"
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr "è§£é™¤é•œåƒ %s 的注册"
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, 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:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr "用户或者组没有确定"
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr "仅仅支æŒç»„\"all\""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr "operation_type必须添加或者移除"
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr "æ­£åœ¨æ›´æ–°é•œåƒ %s çš„ publicity 属性"
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "无法在 %d 秒内åœæ­¢å®žä¾‹"
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
#, fuzzy
msgid "Expecting a list of resources"
msgstr "获å–实例列表"
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
#, fuzzy
msgid "Only instances implemented"
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "获å–实例列表"
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
#, fuzzy
msgid "Invalid CIDR"
msgstr "无效的"
@@ -2009,43 +2048,73 @@ msgstr "无效的请求:%s"
msgid "Failed to get metadata for instance id: %s"
msgstr "为ip: %s获å–元数æ®å¤±è´¥"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr "抓到错误:%s"
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s éšHTTP %(status)d返回"
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr "必须明确一个ExtensionManager类"
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr "扩展资æºï¼š%s"
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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 "扩展%(ext_name)sï¼šæ— æ³•æ‰©å±•èµ„æº %(collection)s:没有那ç§èµ„æº"
-#: nova/api/openstack/__init__.py:209 nova/api/openstack/__init__.py:341
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "扩展资æºçš„扩展 %(ext_name)s:%(collection)s"
-#: nova/api/openstack/__init__.py:286
+#: 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
+#, fuzzy, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr "调用扩展工厂 %s"
+
+#: nova/api/openstack/__init__.py:287
+#, fuzzy, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr "正在加载扩展 %s"
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, fuzzy, python-format
+msgid "Missing core API extensions: %s"
+msgstr "正在加载扩展 %s"
+
+#: nova/api/openstack/__init__.py:346
#, python-format
msgid "Running _register_resources on %s"
msgstr ""
-#: nova/api/openstack/__init__.py:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2074,7 +2143,7 @@ msgid "offset param must be positive"
msgstr "offset å‚数必须是正数"
#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
-#: nova/api/openstack/compute/plugins/v3/servers.py:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr "没有找到标记 [%s]"
@@ -2255,7 +2324,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2359,302 +2428,302 @@ msgid "Metadata item was not found"
msgstr "元数æ®é¡¹ç›®æœªæ‰¾åˆ°"
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "无效的changes-since值"
#: nova/api/openstack/compute/servers.py:540
-#: nova/api/openstack/compute/plugins/v3/servers.py:587
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
#, fuzzy
msgid "Only administrators may list deleted instances"
msgstr "准备å°è¯•è½¯åˆ é™¤å®žä¾‹ %s"
#: nova/api/openstack/compute/servers.py:559
-#: nova/api/openstack/compute/plugins/v3/servers.py:606
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
#, fuzzy, python-format
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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "正在从查询语å¥ä¸­ç§»é™¤é€‰é¡¹ '%(unk_opt_str)s'"
@@ -2734,7 +2803,7 @@ msgstr "createBackup的属性 'rotation'必须是整数"
#: 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr "没有找到实例"
@@ -2830,30 +2899,35 @@ msgstr "正在开å¯VLANæŽ¥å£ %s"
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, fuzzy, python-format
+msgid "Cell %(id)s not found."
+msgstr "没有找到规则 (%s)"
+
+#: nova/api/openstack/compute/contrib/cells.py:238
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "安全组å称ä¸èƒ½æ˜¯ç©º"
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2950,13 +3024,13 @@ msgstr "host与block_migration必须确定"
msgid "Error in evacuate, %s"
msgstr "è¿ç§»é”™è¯¯ %s"
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, fuzzy, python-format
msgid "Fixed IP %s not found"
@@ -3008,7 +3082,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr "缺少å‚æ•° dict"
@@ -3061,7 +3135,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3090,34 +3164,34 @@ msgstr "无效的状æ€ï¼š'%s'"
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: nova/api/openstack/compute/contrib/hosts.py:206
#, fuzzy, python-format
msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
msgstr "把主机 %(host)s 设置为 %(state)s。"
-#: nova/api/openstack/compute/contrib/hosts.py:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, fuzzy, python-format
msgid "Enabling host %s."
msgstr "调用 getter %s"
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, fuzzy, python-format
msgid "Disabling host %s."
msgstr "正在更新主机状æ€"
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr "Describe-resource是åªæœ‰ç®¡ç†å‘˜æ‰èƒ½æ‰§è¡Œçš„功能。"
@@ -3142,12 +3216,6 @@ msgstr "没找到文件"
msgid "Invalid timestamp for date %s"
msgstr "无效的元数æ®"
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr "密钥对 '%s' å·²ç»å­˜åœ¨ã€‚"
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr "addFixedIp缺少å‚æ•°'networkId'"
@@ -3264,26 +3332,43 @@ msgstr "添加安全组规则:%r"
msgid "Create networks failed"
msgstr "创建失败"
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
-#, fuzzy, python-format
-msgid "Quota for %s should be integer."
-msgstr "version应该是整数"
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#, 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 "错误格å¼çš„ scheduler_hints 属性"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr "å‚æ•°ä¸å¤Ÿåˆ›å»ºæœ‰æ•ˆè§„则。"
@@ -3302,40 +3387,47 @@ msgstr "显示id是 %s 的网络"
msgid "security group default rule not found"
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "错误的to_global_ipv6å‰ç¼€ï¼š%s"
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr "没有指定安全组"
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr "安全组å称ä¸èƒ½æ˜¯ç©º"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
#, fuzzy
msgid "start instance"
msgstr "å¯åŠ¨å®žä¾‹ %r"
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
#, fuzzy
msgid "stop instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-msgstr "未知链:%r"
+#: 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:135
+#: nova/api/openstack/compute/contrib/services.py:182
+msgid "Missing disabled reason field"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "未知的guestmount错误"
-#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3400,26 +3492,26 @@ msgstr "é‡Šæ”¾åœ°å€ %s"
msgid "Unreserving IP address %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3463,99 +3555,104 @@ msgstr "正在删除基文件:%s"
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, fuzzy, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr "把“%(method)sâ€æŠ•æ”¾åœ¨ä¸»æœº \"%(host)s\""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3567,31 +3664,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-#, fuzzy
-msgid "Instance type for vpn instances"
-msgstr "无效的实例类型 %(instance_type)s。"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr "cloudpipe实例的å¯åŠ¨è„šæœ¬æ¨¡æ¿"
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr "网络地å€å·²å­˜å…¥openvpné…ç½®"
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr "å­ç½‘掩ç å·²å­˜å…¥openvpné…ç½®"
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr "å¯åŠ¨VPN %s"
@@ -3601,35 +3697,35 @@ msgstr "å¯åŠ¨VPN %s"
msgid "Failed to load %s"
msgstr "无法创建å·"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "元素ä¸æ˜¯å­èŠ‚点"
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3652,578 +3748,589 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "已接收 %s"
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "é‡ç½®ç½‘络"
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "起始地å€"
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "找ä¸åˆ°å›ºå®šIP。"
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "没有固定ip与实例关è”"
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "项目"
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "没有找到网络"
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "创建网络 %(req)s 是必è¦çš„。"
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: 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:696
+#: 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:763
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "æ„外错误:%s"
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "项目"
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "无法创建实例类型。"
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "未知的guestmount错误"
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "表 |%s| 没有创建"
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s 是一个正确的实例å称"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "类型is = %s"
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "超过实例的é…é¢ã€‚您无法è¿è¡Œæ›´å¤šæ­¤ç±»åž‹çš„实例。"
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "超过实例的é…é¢ã€‚您åªèƒ½å†è¿è¡Œ %s 个此类型的实例。"
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, 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:330
+#: nova/compute/api.py:329
#, 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:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
#, fuzzy
msgid "Metadata property key greater than 255 characters"
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
#, fuzzy
msgid "Metadata property value greater than 255 characters"
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "无法附加å·åˆ°å®žä¾‹ %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr "准备è¿è¡Œ %s 个实例"
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "准备开始终止实例"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "实例类型 %(instance_type_id)s 没有找到。"
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "准备开始终止实例"
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "没有托管实例 %s,立刻删除"
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "准备å°è¯•è½¯åˆ é™¤å®žä¾‹ %s"
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "准备å°è¯•ç»ˆæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
#, fuzzy
msgid "Going to try to stop instance"
msgstr "准备å°è¯•åœæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
#, fuzzy
msgid "Going to try to start instance"
msgstr "准备å°è¯•å¯åŠ¨å®žä¾‹ %s"
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr "æœç´¢æ¡ä»¶ï¼š %s"
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "开始为虚拟机 %s 快照"
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id为空。å‡å®šåœ¨è¿ç§»ã€‚"
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, 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:2065
+#: nova/compute/api.py:2103
#, 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:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "准备å°è¯•ç»ˆæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr "安全组 %s æ—¢ä¸æ˜¯å­—符串也ä¸æ˜¯unicode"
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr "安全组 %s ä¸èƒ½ä¸ºç©ºã€‚"
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, 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:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr "创建安全组 %s"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr "安全组 %s å·²ç»å­˜åœ¨"
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "无法销æ¯VBD %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "无法销æ¯VBD %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
#, fuzzy
msgid "Security group is still in use"
msgstr "安全组id应该是整数"
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr "删除安全组 %s"
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr "没有找到规则 (%s)"
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "添加安全组规则:%r"
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr "æŽˆæƒ %s 安全组入å£æƒé™"
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr "撤销 %s 安全组入å£æƒé™"
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr "安全组id应该是整数"
@@ -4282,549 +4389,551 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, fuzzy, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr "createBackup的属性 'rotation'必须是整数"
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
#, fuzzy
msgid "'rxtx_factor' argument must be a positive float"
msgstr "创建å‚数必须是正整数"
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr "未找到è¦åˆ é™¤çš„实例类型 %s"
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, 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:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr "nova-computeé‡å¯åŽï¼Œå®žä¾‹æ­£åœ¨é‡å¯ã€‚"
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "虚拟机管ç†ç¨‹åºé©±åŠ¨ä¸æ”¯æŒé˜²ç«å¢™è§„则"
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "挂起实例失败"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr "虚拟机管ç†ç¨‹åºé©±åŠ¨ä¸æ”¯æŒé˜²ç«å¢™è§„则"
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "æ„外的状æ€ç "
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr "正在检查状æ€"
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr "正在设置 bdm %s"
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "释放实例的网络"
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "实例生产失败"
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, fuzzy, python-format
msgid "Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr "正在å¯åŠ¨è™šæ‹Ÿæœº"
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+#, fuzzy
+msgid "Allocating IP information in the background."
+msgstr "没有找到floating_ip"
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr "实例网络设置失败"
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr "实例的network_info:|%s|"
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr "实例å—设备设置失败"
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr "实例生产失败"
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr "释放实例的网络"
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
-msgstr "%(action_str)s 实例"
-
-#: nova/compute/manager.py:1301
+#: nova/compute/manager.py:1332
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "释放实例的网络"
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
+msgstr "%(action_str)s 实例"
+
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "忽略异常 DiskNotFound: %s"
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "忽略异常 DiskNotFound: %s"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr "终止bdm %s"
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s。把实例的 vm_state设置为ERROR"
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
#, fuzzy
msgid "Rebuilding instance"
msgstr "正在é‡æ–°åˆ›å»ºå®žä¾‹ %s"
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "ä¸ºå· %s 创建快照"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
#, fuzzy
msgid "Rebooting instance"
msgstr "正在é‡å¯è™šæ‹Ÿæœº %s"
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, 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:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "无法é‡æ–°åˆ›å»ºå®žä¾‹ [%(instance_uuid)s]: %(exc)s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "实例 %s:é‡å¯"
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
#, fuzzy
msgid "instance snapshotting"
msgstr "实例 %s: 快照中"
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, 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:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "找到 %(num_images)d ä¸ªé•œåƒ (rotation: %(rotation)d)"
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr "è½®æ¢å‡º%d个备份"
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr "æ­£åœ¨åˆ é™¤é•œåƒ %s"
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
#, fuzzy
msgid "Root password set"
msgstr "实例 %s:Root密ç å·²è®¾ç½®"
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
#, fuzzy
msgid "error setting admin password"
msgstr "设置管ç†å‘˜å¯†ç å‡ºé”™"
-#: nova/compute/manager.py:1974
-#, fuzzy, python-format
+#: nova/compute/manager.py:2063
+#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-"试图把一个文件注入到没有è¿è¡Œçš„实例:%(instance_uuid)s (状æ€: %(current_power_state)s 预计: "
-"%(expected_state)s)"
-#: nova/compute/manager.py:1978
-#, fuzzy, python-format
-msgid "injecting file to %(path)s"
-msgstr "注入文件路径:'%s'"
+#: nova/compute/manager.py:2068
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "挂起实例失败"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
#, fuzzy
msgid "Unrescuing"
msgstr "实例 %s:å–消救æ´"
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "设置实例 %(instance_uuid)s 至 ERROR 状æ€"
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
#, fuzzy
msgid "Instance has no source host"
msgstr "实例没有å·ã€‚"
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr "目标与æ¥æºä¸€æ ·ã€‚"
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
#, fuzzy
msgid "Pausing"
msgstr "正在更新。"
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "实例 %s :获å–诊断"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
#, fuzzy
msgid "Reset network"
msgstr "é‡ç½®ç½‘络"
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
#, fuzzy
msgid "Inject network info"
msgstr "实例 %s:注入网络信æ¯"
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr "将注入的network_info:|%s|"
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
#, fuzzy
msgid "Get console output"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
#, fuzzy
msgid "Getting vnc console"
msgstr "实例 %s:正在获得VNC控制å°"
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
#, fuzzy
msgid "Getting spice console"
msgstr "实例 %s:正在获得VNC控制å°"
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr "å· %(volume_id)s 正在 %(mountpoint)s 上å¯åŠ¨"
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, 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:2988
+#: nova/compute/manager.py:3081
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr "å· %(volume_id)s 从挂载点 %(mp)s 分离"
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "从未知实例%s中分离å·"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "实例 %s 的网络分é…"
-#: nova/compute/manager.py:3114
-#, fuzzy, python-format
-msgid "Port %(port_id)s is not attached"
-msgstr "网络 %(network_id)s 没有找到。"
+#: nova/compute/manager.py:3210
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
-#: nova/compute/manager.py:3128
-#, fuzzy, python-format
-msgid "Host %(host)s not found"
-msgstr "主机 %(host)s 没有找到。"
+#: nova/compute/manager.py:3224
+#, python-format
+msgid "Host %s not found"
+msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
-msgstr "预在线è¿ç§»åœ¨%(dest)s失败"
+msgid "Pre live migration failed at %s"
+msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "post_live_migration()å·²ç»å¯åŠ¨ã€‚"
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
-msgstr "把实例è¿ç§»åˆ° %(dest)s æˆåŠŸå®Œæˆã€‚"
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4832,171 +4941,171 @@ msgstr ""
"你会看到错误“libvirt: QEMU error: Domain not found: no domain with matching "
"name。â€è¿™ä¸ªé”™è¯¯å¯ä»¥æ”¾å¿ƒçš„忽略。"
-#: nova/compute/manager.py:3381
+#: nova/compute/manager.py:3477
#, fuzzy
msgid "Post operation of migration started"
msgstr "è¿ç§»åŽæ“作å¯åŠ¨"
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "为ip: %s获å–元数æ®å¤±è´¥"
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, 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:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, fuzzy, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr "为实例 %(instance_uuid)s 关闭虚拟机"
-#: nova/compute/manager.py:3614
-#, fuzzy, python-format
-msgid "Instance %(instance_uuid)s not found"
-msgstr "没有找到实例 %(instance_id)s"
+#: nova/compute/manager.py:3710
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
#, fuzzy
msgid "In ERROR state"
msgstr "节点处于未知的错误状æ€ã€‚"
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr "更新带宽使用缓存"
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
#, fuzzy
msgid "Updating volume usage cache"
msgstr "更新带宽使用缓存"
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr "更新主机状æ€"
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, 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:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "实例未å¯åŠ¨"
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0,跳过..."
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr "回收删除的实例"
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "LoggingVolumeDriver: %s"
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, fuzzy, python-format
msgid "No service record for host %s"
msgstr "计算节点 %s 没有æœåŠ¡"
-#: nova/compute/manager.py:4078
-#, fuzzy, python-format
+#: nova/compute/manager.py:4175
+#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
-msgstr "检测标签å为 '%(name_label)s' 的实例,这些实例被标识为DELETEDå´ä»ç„¶å­˜åœ¨äºŽä¸»æœºä¸Šã€‚"
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
-#: nova/compute/manager.py:4085
-#, fuzzy, python-format
+#: nova/compute/manager.py:4181
+#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
-msgstr "销æ¯æ ‡ç­¾å为 '%(name_label)s' 的实例,这些实例被标识为DELETEDå´ä»ç„¶å­˜åœ¨äºŽä¸»æœºä¸Šã€‚"
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
-#: nova/compute/manager.py:4092
-#, fuzzy, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
-msgstr "无法识别的FLAGS.running_deleted_instance_actionçš„å–值 '%(action)s'"
+#: nova/compute/manager.py:4188
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
+msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "设置实例 %(instance_uuid)s 至 ERROR 状æ€"
@@ -5098,11 +5207,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "未指定计算宿主机"
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "无法找到实例 %s 的宿主机"
@@ -5112,18 +5221,18 @@ msgstr "无法找到实例 %s 的宿主机"
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
@@ -5209,11 +5318,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
#, fuzzy
msgid "Failed to notify cells of instance fault"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
@@ -5232,24 +5341,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "无法识别的 read_deleted å–值â€%s“"
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, fuzzy, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr "实例 %s:已救æ´"
+
+#: nova/db/sqlalchemy/api.py:871
+#, fuzzy, python-format
+msgid "Invalid floating IP %s in request"
+msgstr "实例 %s:已救æ´"
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, fuzzy, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr "实例 %s:已救æ´"
+
+#: nova/db/sqlalchemy/api.py:1333
+#, fuzzy, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr "实例 %s:已救æ´"
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5266,57 +5395,57 @@ msgstr "version应该是整数"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
#, fuzzy
msgid "Unsupported id columns type"
msgstr "ä¸æ”¯æŒçš„Content-Type"
@@ -5342,47 +5471,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, fuzzy, python-format
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:362
+#: 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:372
+#: 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:396
+#: 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 "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/image/s3.py:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "解密åˆå§‹åŒ–vector失败:%s"
-#: nova/image/s3.py:414
+#: 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:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "é•œåƒä¸­ä¸å®‰å…¨çš„文件å"
@@ -5509,23 +5643,23 @@ msgstr "域 |%(domain)s| å·²ç»å­˜åœ¨ï¼ŒæŠŠåŒºåŸŸæ”¹å˜ä¸º |%(av_zone)s|。"
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr "域 |%(domain)s| å·²ç»å­˜åœ¨ï¼ŒæŠŠé¡¹ç›®æ”¹å˜ä¸º |%(project)s|。"
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr "驱动仅支æŒå…¥å£ç±»åž‹ 'a'。"
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5550,111 +5684,111 @@ msgstr "试图移除ä¸å­˜åœ¨çš„规则:%(chain)r %(rule)r %(wrap)r %(top)r"
msgid "IPTablesManager.apply completed with success"
msgstr "IPTablesManager.applyæˆåŠŸå®Œæˆ"
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, fuzzy, python-format
msgid "arping error for ip %s"
msgstr "在 %s 中å‘生 httplib 错误: "
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, fuzzy, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr "Pid %d 过期了,é‡æ–°å¯åŠ¨dnsmasq"
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr "挂起进程 dnsmasq 时抛出 %s"
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr "Pid %d 过期了,é‡æ–°å¯åŠ¨dnsmasq"
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr "æ€æŽ‰è¿›ç¨‹ radvd 时抛出 %s"
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d 过期了,é‡æ–°å¯åŠ¨radvd"
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "无效的状æ€ï¼š'%s'"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr "正在开å¯VLANæŽ¥å£ %s"
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "ä¿è¯vlan %(vlan)s 和桥 %(bridge)s"
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "挂起实例失败"
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr "解除 %s 过期固定ipçš„å…³è”"
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr "设置网络主机"
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
#, fuzzy
msgid "network allocations"
msgstr "实例 %s 的网络分é…"
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, fuzzy, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr "为实例 |%(instance_id)s| 获å–的网络:|%(networks)s|"
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
#, fuzzy
msgid "network deallocation for instance"
msgstr "为实例 |%s| 解除网络分é…"
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, fuzzy, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5664,99 +5798,99 @@ msgstr ""
"instance-dns-zone是 |%(domain)s|,该域ä½äºŽåŒºåŸŸ |%(zone)s| 中。实例|%(instance)s| 在区域 "
"|%(zone2)s| 里。没有DNS记录将创建。"
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, fuzzy, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr "%s çš„é…é¢è¶…出,å°è¯•åˆ†é…地å€"
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
#, fuzzy
msgid "Failed to update usages deallocating fixed IP"
msgstr "在数æ®åº“æ›´æ–°å·å¤±è´¥"
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr "租用的IP |%(address)s|"
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr "没有关è”çš„IP %s 被租用了"
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr "没有分é…çš„IP |%s| 被租用了"
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr "释放的IP |%(address)s|"
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr "没有关è”çš„IP %s 被释放了"
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr "没有租用的IP %s 被释放了"
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, fuzzy, python-format
msgid "%s must be an integer"
msgstr "offset å‚数必须是整数"
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr "cidr å·²ç»åœ¨ä½¿ç”¨"
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr "请求的cidr (%(cidr)s) 与已存在的超网络 (%(super)s) 冲çª"
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr "请求的cidr (%(cidr)s) 与已存在的较å°çš„cidr (%(smaller)s) 冲çª"
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr "网络已ç»å­˜åœ¨ã€‚"
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr "网路在删除å‰å¿…须与项目 %s 解除关è”"
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5792,80 +5926,80 @@ msgstr "_delete: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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。"
@@ -5887,7 +6021,7 @@ 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:262
+#: nova/network/security_group/quantum_driver.py:263
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "抓到错误:%s"
@@ -5902,46 +6036,46 @@ msgstr "删除安全组 %s"
msgid "Security group id should be uuid"
msgstr "安全组id应该是整数"
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
#, fuzzy
msgid "Quantum Error:"
msgstr "抓到错误:%s"
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, 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:446
+#: nova/network/security_group/quantum_driver.py:444
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5953,22 +6087,22 @@ msgstr "安全组 %(security_group_id)s 没有与实例 %(instance_id)s å…³è”ã€
msgid "This rule already exists in group %s"
msgstr "è¿™æ¡è§„则已ç»å­˜åœ¨äºŽç»„%s 中"
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, fuzzy, python-format
msgid "Error setting %(attr)s"
msgstr "设置管ç†å‘˜å¯†ç å‡ºé”™"
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
#, fuzzy
msgid "Invalid version string"
msgstr "ä¸æ­£ç¡®çš„server_string:%s"
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6174,21 +6308,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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 "æ•°æ®åº“异常被包裹。"
-#: nova/openstack/common/db/sqlalchemy/session.py:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, fuzzy, python-format
msgid "SQL connection failed. %s attempts left."
msgstr "SQL连接失败 (%(connstring)s)。还剩 %(attempts)d 次。"
@@ -6381,7 +6525,7 @@ msgid "Returning exception %s to caller"
msgstr "返回 %s 异常给调用者"
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6412,44 +6556,44 @@ msgid ""
msgstr "ä½äºŽ%(hostname)s:%(port)dçš„AMQPæœåŠ¡å™¨ä¸å¯è¾¾ï¼š%(err_str)s。%(sleep_time)d 秒钟åŽè¯·å†å°è¯•ã€‚"
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: nova/openstack/common/rpc/impl_qpid.py:457
#, python-format
msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
msgstr "为topic '%(topic)s'声明消费者失败:%(err_str)s"
#: nova/openstack/common/rpc/impl_kombu.py:627
-#: nova/openstack/common/rpc/impl_qpid.py:419
+#: nova/openstack/common/rpc/impl_qpid.py:472
#, python-format
msgid "Timed out waiting for RPC response: %s"
msgstr "等待RPCå“应超时:%s"
#: nova/openstack/common/rpc/impl_kombu.py:631
-#: nova/openstack/common/rpc/impl_qpid.py:423
+#: nova/openstack/common/rpc/impl_qpid.py:476
#, python-format
msgid "Failed to consume message from queue: %s"
msgstr "从队列中消费消æ¯å¤±è´¥ï¼š%s"
#: nova/openstack/common/rpc/impl_kombu.py:670
-#: nova/openstack/common/rpc/impl_qpid.py:458
+#: nova/openstack/common/rpc/impl_qpid.py:511
#, python-format
msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
msgstr "ç»™topic '%(topic)s'å‘布消æ¯å¤±è´¥ï¼š%(err_str)s"
-#: nova/openstack/common/rpc/impl_qpid.py:352
+#: nova/openstack/common/rpc/impl_qpid.py:399
#, fuzzy, python-format
msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
msgstr "无法连接到AMQPæœåŠ¡å™¨ï¼š%s "
-#: nova/openstack/common/rpc/impl_qpid.py:358
+#: nova/openstack/common/rpc/impl_qpid.py:405
#, python-format
msgid "Connected to AMQP server on %s"
msgstr "连接到 %s çš„AMQPæœåŠ¡å™¨"
-#: nova/openstack/common/rpc/impl_qpid.py:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr "é‡å»ºAMQP队列"
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6682,7 +6826,7 @@ msgstr "无法找到å¦ä¸€ä¸ªè®¡ç®—节点"
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: 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 状æ€"
@@ -6800,7 +6944,7 @@ msgstr "计算节点 %s 没有æœåŠ¡"
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr "schedule_%(method)s 失败:%(ex)s"
@@ -6821,10 +6965,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6832,6 +6983,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -7023,12 +7179,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -7073,15 +7229,6 @@ msgstr ""
msgid "already detached"
msgstr "å·²ç»åˆ†ç¦»"
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-"下é¢çš„è¿ç§»ç¼ºå°‘了é™çº§ï¼š\n"
-"\t%s"
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -7094,7 +7241,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7102,58 +7249,67 @@ msgid ""
"instances"
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è¿è¡Œ %(min_count)s 个实例"
-#: nova/tests/api/openstack/compute/test_servers.py:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr "正在è¿è¡Œçš„实例:%s"
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr "终止实例之åŽï¼š%s"
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr "内部错误"
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr "强制æ€æ­»å®žä¾‹åŽï¼š%s"
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
#, fuzzy
msgid "spawn error"
msgstr "未知的guestmount错误"
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+"下é¢çš„è¿ç§»ç¼ºå°‘了é™çº§ï¼š\n"
+"\t%s"
+
+#: nova/tests/integrated/test_api_samples.py:183
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "åœ°å€ |%(address)s| 没有分é…"
-#: nova/tests/integrated/test_api_samples.py:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -7163,22 +7319,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: nova/tests/integrated/test_api_samples.py:208
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "åœ°å€ |%(address)s| 没有分é…"
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7248,28 +7404,36 @@ msgstr "解ç JSON:%s"
msgid "fake vswitch not found"
msgstr "没有找到标记 [%s]"
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr "请扩展模拟的 libvirt 模å—æ¥æ”¯æŒæ ‡è®°"
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "在%s 创建文件模拟客户代ç†"
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "移除在 %s 的模拟的客户代ç†æ–‡ä»¶"
@@ -7279,25 +7443,25 @@ msgstr "移除在 %s 的模拟的客户代ç†æ–‡ä»¶"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "LoggingVolumeDriver: %s"
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "无法加载虚拟驱动:%s"
@@ -7307,43 +7471,43 @@ msgstr "无法加载虚拟驱动:%s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr "试图ä¸è¿‡æ»¤æ²¡æœ‰è¿‡æ»¤çš„实例"
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
#, fuzzy
msgid "Filters added to instance"
msgstr "过滤器添加给实例 %s"
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr "æ供者防ç«å¢™è§„则刷新"
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr "添加安全组规则:%r"
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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"
@@ -7455,22 +7619,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, 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:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7490,7 +7654,7 @@ msgstr "获å–实例 %s 控制å°è¾“出"
msgid "PXE deploy failed for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7500,28 +7664,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr "等待RPCå“应返回超时"
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr "节点处于未知的错误状æ€ã€‚"
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "无法找到实例 %s 的宿主机"
@@ -7609,15 +7773,15 @@ 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 ""
@@ -8105,17 +8269,17 @@ msgstr "实例代ç†ç‰ˆæœ¬ï¼š%s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "正在更新主机状æ€"
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
#, fuzzy
msgid "get_host_stats called"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, fuzzy, python-format
msgid "Host IP address is: %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
@@ -8471,12 +8635,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "为实例 |%s| 分é…浮动IP"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "注入文件路径:'%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "注入文件路径:'%s'"
@@ -8642,7 +8806,7 @@ msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "正在创建虚拟机实例快照 %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr "无法确定iscsi initiatoråå­—"
@@ -8661,262 +8825,268 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, fuzzy, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr "无法为VDI %s 找到VBD"
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "å·ç»„ %s ä¸å­˜åœ¨"
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr "连接 libvirt 失败"
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, 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:743
+#: nova/virt/libvirt/driver.py:796
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr "实例销æ¯æˆåŠŸã€‚"
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
#, fuzzy
msgid "Going to destroy instance again."
msgstr "准备åœæ­¢å®žä¾‹"
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, 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:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, 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:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "删除实例文件 %(target)s"
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "schedule_%(method)s 失败:%(ex)s"
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "无法确定iscsi initiatoråå­—"
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "无法确定iscsi initiatoråå­—"
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
#, fuzzy
msgid "attaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
#, fuzzy
msgid "detaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "实例æˆåŠŸé‡å¯ã€‚"
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "实例æˆåŠŸç”Ÿäº§ã€‚"
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr "实例æˆåŠŸé‡å¯ã€‚"
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr "实例在è¿è¡Œ"
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr "实例æˆåŠŸç”Ÿäº§ã€‚"
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data:%(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "用户没有管ç†å‘˜æƒé™"
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr "正在创建镜åƒ"
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "å°† %(injection)s æ³¨å…¥åˆ°é•œåƒ %(img_id)s"
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, 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:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8924,74 +9094,77 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr "无法得到CPU的数目,因为这个函数ä¸æ˜¯ç»™è¿™ä¸ªå¹³å°æ‰§è¡Œçš„。这个错误å¯ä»¥è¢«æ”¾å¿ƒå¿½ç•¥ã€‚"
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr "libvirt版本过旧(ä¸æ”¯æŒgetVersion)"
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "正在获å–é•œåƒ %s 的大å°"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8999,37 +9172,37 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr "å—存储è¿ç§»æ— æ³•åœ¨å…±äº«å­˜å‚¨ä½¿ç”¨"
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
#, fuzzy
msgid "Live migration can not be used without shared storage."
msgstr "å—存储è¿ç§»æ— æ³•åœ¨å…±äº«å­˜å‚¨ä½¿ç”¨"
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9038,7 +9211,7 @@ msgstr ""
"无法è¿ç§»%(instance_id)s 到 %(dest)s 上:缺少ç£ç›˜(主机:%(available)s <= "
"实例:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9047,7 +9220,7 @@ msgstr ""
"å·²å¯åŠ¨å®žä¾‹çš„CPUä¿¡æ¯ï¼š\n"
"%s"
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9062,71 +9235,71 @@ msgstr ""
"\n"
"å‚考 %(u)s"
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "预在线è¿ç§»åœ¨%(dest)s失败"
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, 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:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr "因它åƒå·ï¼Œæ‰€ä»¥è·³è¿‡ %(path)s"
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "实例 %s:开始执行 migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
#, fuzzy
msgid "Instance running successfully."
msgstr "实例 %s æˆåŠŸè¿è¡Œã€‚"
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
#, fuzzy
msgid "Starting finish_migration"
msgstr "实例 %s:开始执行 finish_migration"
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "实例 %s:开始执行 finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "删除实例文件 %(target)s"
@@ -9137,33 +9310,33 @@ msgid ""
"correctly."
msgstr "Libvirt模å—无法加载。NWFilterFirewall 无法正常工作。"
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr "在 nwfilter 里调用 setup_basic_filtering"
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr "正在确ä¿é™æ€è¿‡æ»¤å™¨"
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr "nwfilter(%(instance_filter_name)s)未找到"
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, 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:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables 防ç«å¢™ï¼šè®¾ç½®åŸºæœ¬çš„过滤规则"
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "未知的ç£ç›˜é•œåƒå¥æŸ„:%s"
@@ -9313,22 +9486,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. "
@@ -9336,17 +9509,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9384,14 +9557,14 @@ msgstr "ä¿è¯æ¡¥ %s"
msgid "Failed while unplugging vif"
msgstr "移除实例â€%s“的虚拟网络设备时失败"
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9399,7 +9572,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9407,7 +9580,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9415,7 +9588,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9423,88 +9596,88 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr "在 %s 未找到iSCSI设备"
-#: nova/virt/libvirt/volume.py:241
+#: nova/virt/libvirt/volume.py:243
#, fuzzy, python-format
msgid ""
"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
"number: %(tries)s"
msgstr "在 %(mount_device)s 上还没有找到iSCSIå·ã€‚å°†å†æ¬¡æ‰«æ并é‡è¯•ã€‚å°è¯•æ¬¡æ•°ï¼š%(tries)s"
-#: nova/virt/libvirt/volume.py:254
+#: nova/virt/libvirt/volume.py:256
#, fuzzy, python-format
msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
msgstr "找到iSCSI节点 %(mount_device)s (ç»è¿‡%(tries)s 次å†æ‰«æ)"
-#: nova/virt/libvirt/volume.py:512 nova/virt/libvirt/volume.py:633
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
#, fuzzy, python-format
msgid "%s is already mounted"
msgstr "é•œåƒå·²ç»æŒ‚è½½"
-#: nova/virt/libvirt/volume.py:560
+#: nova/virt/libvirt/volume.py:562
#, fuzzy, python-format
msgid "AoE device not found at %s"
msgstr "在 %s 未找到iSCSI设备"
-#: nova/virt/libvirt/volume.py:562
+#: nova/virt/libvirt/volume.py:564
#, fuzzy, python-format
msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
msgstr "在 %(mount_device)s 上还没有找到iSCSIå·ã€‚å°†å†æ¬¡æ‰«æ并é‡è¯•ã€‚å°è¯•æ¬¡æ•°ï¼š%(tries)s"
-#: nova/virt/libvirt/volume.py:577
+#: nova/virt/libvirt/volume.py:579
#, fuzzy, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr "找到iSCSI节点 %(mount_device)s (ç»è¿‡%(tries)s 次å†æ‰«æ)"
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
#, fuzzy
msgid "Fibre Channel device not found."
msgstr "在 %s 未找到iSCSI设备"
-#: nova/virt/libvirt/volume.py:726
+#: nova/virt/libvirt/volume.py:728
#, fuzzy, python-format
msgid ""
"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
"Try number: %(tries)s"
msgstr "在 %(mount_device)s 上还没有找到iSCSIå·ã€‚å°†å†æ¬¡æ‰«æ并é‡è¯•ã€‚å°è¯•æ¬¡æ•°ï¼š%(tries)s"
-#: nova/virt/libvirt/volume.py:743
+#: nova/virt/libvirt/volume.py:745
#, fuzzy, python-format
msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
msgstr "找到iSCSI节点 %(mount_device)s (ç»è¿‡%(tries)s 次å†æ‰«æ)"
-#: nova/virt/libvirt/volume.py:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9612,26 +9785,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "连接到melange失败"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9779,32 +9952,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr "针对useconnection_type=vmwareapi必须指定vmwareapi_host_ip,vmwareapi_host_username和vmwareapi_host_password"
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "没有找到标记 [%s]"
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "在vmwareapi:_create_session,得到这个异常:%s"
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "在vmwareapi:_call_method,得到这个异常:%s"
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "任务 [%(task_name)s] %(task_ref)s 状æ€ï¼šæˆåŠŸ"
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, 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:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "在vmwareapi:_poll_task,得到这个错误 %s"
@@ -9814,39 +9987,39 @@ msgstr "在vmwareapi:_poll_task,得到这个错误 %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr "调用 RetrieveProperties æ—¶å‘生错误 %s"
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 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:132
+#: nova/virt/vmwareapi/fake.py:133
#, 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:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr "没有虚拟机注册"
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "ref 为 %s 的虚拟机ä¸å­˜åœ¨"
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "退出无效的会è¯æˆ–者已ç»é€€å‡ºäº†ï¼š%s"
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr "会è¯æœ‰é”™è¯¯"
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr "会è¯æ— æ•ˆ"
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " 还没有虚拟机被注册"
@@ -9856,38 +10029,38 @@ msgstr " 还没有虚拟机被注册"
msgid "%(action)s %(host)s"
msgstr "执行: %s"
-#: nova/virt/vmwareapi/host.py:63
+#: nova/virt/vmwareapi/host.py:64
#, fuzzy, python-format
msgid "Set maintenance mod on %(host)s to %(mode)s"
msgstr "把主机 %(host)s 设置为 %(state)s。"
-#: nova/virt/vmwareapi/io_util.py:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr "Glance é•œåƒ %s 在被æ€æ­»çš„状æ€"
-#: nova/virt/vmwareapi/io_util.py:120
+#: nova/virt/vmwareapi/io_util.py:126
#, python-format
msgid "Glance image %(image_id)s is in unknown state - %(state)s"
msgstr "Glance é•œåƒ %(image_id)s å¤„äºŽæœªçŸ¥çŠ¶æ€ - %(state)s"
-#: nova/virt/vmwareapi/network_util.py:138
+#: nova/virt/vmwareapi/network_util.py:135
msgid ""
"ESX SOAP server returned an empty port group for the host system in its "
"response"
msgstr "ESX SOAP æœåŠ¡å™¨åœ¨å“应里为托管系统返回一个空的端å£ç»„"
-#: nova/virt/vmwareapi/network_util.py:164
+#: nova/virt/vmwareapi/network_util.py:161
#, python-format
msgid "Creating Port Group with name %s on the ESX host"
msgstr "正在ESX主机上创建å称为 %s 的端å£ç»„"
-#: nova/virt/vmwareapi/network_util.py:178
+#: nova/virt/vmwareapi/network_util.py:175
#, python-format
msgid "Created Port Group with name %s on the ESX host"
msgstr "å·²ç»åœ¨ESX主机上创建了å称为 %s 的端å£ç»„"
-#: nova/virt/vmwareapi/read_write_util.py:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, fuzzy, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr "HTTP连接关闭时å‘生异常 VMWareHTTpWrite. Exception:%s"
@@ -9930,17 +10103,17 @@ msgstr "获å–实例列表"
msgid "Got total of %s instances"
msgstr "总共获得 %s 个实例"
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
#, fuzzy
msgid "Creating VM on the ESX host"
msgstr "在ESX主机上创建å为 %s 的虚拟机"
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
#, fuzzy
msgid "Created VM on the ESX host"
msgstr "å·²ç»åœ¨ESX主机上创建å为 %s 的虚拟机"
-#: nova/virt/vmwareapi/vmops.py:230
+#: nova/virt/vmwareapi/vmops.py:231
#, fuzzy, python-format
msgid ""
"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
@@ -9949,7 +10122,7 @@ msgstr ""
"创建 %(vmdk_file_size_in_kb)s KB 大的虚拟ç£ç›˜å’Œé€‚é…器类型 %(adapter_type)s 在ESX主机的本地存储 "
"%(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:249
+#: nova/virt/vmwareapi/vmops.py:250
#, fuzzy, python-format
msgid ""
"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -9958,35 +10131,35 @@ msgstr ""
"创建 %(vmdk_file_size_in_kb)s KB 大的虚拟ç£ç›˜å’Œé€‚é…器类型 %(adapter_type)s 在ESX主机的本地存储 "
"%(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:258
+#: nova/virt/vmwareapi/vmops.py:259
#, fuzzy, python-format
msgid ""
"Deleting the file %(vmdk_path)s on the ESX host localstore "
"%(data_store_name)s"
msgstr "删除文件 %(flat_uploaded_vmdk_path)s 在ESX主机的本地存储 %(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:272
+#: nova/virt/vmwareapi/vmops.py:273
#, fuzzy, python-format
msgid ""
"Deleted the file %(vmdk_path)s on the ESX host local store "
"%(data_store_name)s"
msgstr "删除文件 %(flat_uploaded_vmdk_path)s 在ESX主机的本地存储 %(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:280
+#: 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 "ä¸‹è½½æ–‡ä»¶æ•°æ® %(image_ref)s 到ESX主机的数æ®å­˜å‚¨ %(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:300
+#: nova/virt/vmwareapi/vmops.py:301
#, fuzzy, 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 "å·²ç»ä¸‹è½½é•œåƒæ–‡ä»¶æ•°æ® %(image_ref)s 在ESXæ•°æ®å­˜å‚¨ %(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:314
+#: nova/virt/vmwareapi/vmops.py:315
#, fuzzy, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9996,7 +10169,7 @@ msgstr ""
"创建 %(vmdk_file_size_in_kb)s KB 大的虚拟ç£ç›˜å’Œé€‚é…器类型 %(adapter_type)s 在ESX主机的本地存储 "
"%(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:335
+#: nova/virt/vmwareapi/vmops.py:336
#, fuzzy, python-format
msgid ""
"Copied Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
@@ -10005,334 +10178,333 @@ msgstr ""
"创建 %(vmdk_file_size_in_kb)s KB 大的虚拟ç£ç›˜å’Œé€‚é…器类型 %(adapter_type)s 在ESX主机的本地存储 "
"%(data_store_name)s 上"
-#: nova/virt/vmwareapi/vmops.py:414
+#: nova/virt/vmwareapi/vmops.py:415
#, fuzzy
msgid "Powering on the VM instance"
msgstr "æ­£å¯åŠ¨è™šæ‹Ÿæœºå®žä¾‹ %s"
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
#, fuzzy
msgid "Powered on the VM instance"
msgstr "å·²ç»å¯åŠ¨è™šæ‹Ÿæœºå®žä¾‹ %s"
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
#, fuzzy
msgid "Creating Snapshot of the VM instance"
msgstr "正在创建虚拟机实例快照 %s "
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
#, fuzzy
msgid "Created Snapshot of the VM instance"
msgstr "å·²ç»åˆ›å»ºè™šæ‹Ÿæœºå®žä¾‹å¿«ç…§ %s "
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
#, fuzzy
msgid "Copying disk data before snapshot of the VM"
msgstr "正在快照虚拟机实例 %s 之å‰å¤åˆ¶ç£ç›˜æ•°æ®"
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
#, fuzzy
msgid "Copied disk data before snapshot of the VM"
msgstr "å·²ç»åœ¨å¿«ç…§è™šæ‹Ÿæœºå®žä¾‹ %s 之å‰å¤åˆ¶ç£ç›˜æ•°æ®"
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr "ä¸Šä¼ é•œåƒ %s"
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr "å·²ç»ä¸Šä¼ é•œåƒ %s"
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr "正在删除临时的vmdk文件 %s"
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr "å·²ç»åˆ é™¤ä¸´æ—¶çš„vmdk文件 %s"
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr "实例未å¯åŠ¨"
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
#, fuzzy
msgid "Rebooting guest OS of VM"
msgstr "正在é‡å¯è™šæ‹Ÿæœºå®¢æˆ·æ“作系统 %s"
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
#, fuzzy
msgid "Rebooted guest OS of VM"
msgstr "å·²ç»é‡å¯è™šæ‹Ÿæœºå®¢æˆ·æ“作系统 %s"
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
#, fuzzy
msgid "Doing hard reboot of VM"
msgstr "正在冷å¯åŠ¨è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
#, fuzzy
msgid "Did hard reboot of VM"
msgstr "å·²ç»å†·å¯åŠ¨è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-#, fuzzy
-msgid "instance not present"
-msgstr "实例 - %s ä¸å­˜åœ¨"
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
#, fuzzy
msgid "Destroying the VM"
msgstr "é‡å¯xvp"
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
#, fuzzy
msgid "Destroyed the VM"
msgstr "å·²ç»æ³¨é”€è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:652
+#: nova/virt/vmwareapi/vmops.py:641
#, fuzzy, python-format
msgid "In vmwareapi:vmops:delete, got this exception while destroying the VM: %s"
msgstr "注销虚拟机时在 vmwareapi:vmops:destroy 中å‘生异常:%s"
-#: nova/virt/vmwareapi/vmops.py:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
#, fuzzy
msgid "Powering off the VM"
msgstr "正在关闭虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
#, fuzzy
msgid "Powered off the VM"
msgstr "关闭虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
#, fuzzy
msgid "Unregistering the VM"
msgstr "正在注销虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
#, fuzzy
msgid "Unregistered the VM"
msgstr "å·²ç»æ³¨é”€è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:704
+#: nova/virt/vmwareapi/vmops.py:689
#, python-format
msgid ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
msgstr "注销虚拟机时在 vmwareapi:vmops:destroy 中å‘生异常:%s"
-#: nova/virt/vmwareapi/vmops.py:717
+#: nova/virt/vmwareapi/vmops.py:702
#, fuzzy, python-format
msgid "Deleting contents of the VM from datastore %(datastore_name)s"
msgstr "正在删除虚拟机 %(name)s 的内容ä½ç½®åœ¨æ•°æ®å­˜å‚¨ %(datastore_name)s 中"
-#: nova/virt/vmwareapi/vmops.py:729
+#: nova/virt/vmwareapi/vmops.py:714
#, fuzzy, python-format
msgid "Deleted contents of the VM from datastore %(datastore_name)s"
msgstr "å·²ç»åˆ é™¤è™šæ‹Ÿæœº %(name)s 的内未知在数æ®å­˜å‚¨ %(datastore_name)s 中"
-#: nova/virt/vmwareapi/vmops.py:734
+#: 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 "当从ç£ç›˜åˆ é™¤è™šæ‹Ÿæœºçš„内容时在 vmwareapi:vmops:destroy 里å‘生异常:%s"
-#: nova/virt/vmwareapi/vmops.py:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr "vmwareapi ä¸æ”¯æŒæš‚åœ"
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr "vmwareapi ä¸æ”¯æŒå–消暂åœ"
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
#, fuzzy
msgid "Suspending the VM"
msgstr "挂起虚拟机 %s "
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
#, fuzzy
msgid "Suspended the VM"
msgstr "å·²ç»æŒ‚起虚拟机 %s "
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
#, fuzzy
msgid "instance is powered off and cannot be suspended."
msgstr "实例已关闭,无法挂起。"
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
#, fuzzy
msgid "VM was already in suspended state. So returning without doing anything"
msgstr "虚拟机 %s å·²ç»åœ¨æŒ‚起状æ€ã€‚ä¸åšä»»ä½•æ“作直接返回"
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
#, fuzzy
msgid "Resuming the VM"
msgstr "正在æ¢å¤è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
#, fuzzy
msgid "Resumed the VM"
msgstr "å·²ç»æ¢å¤è™šæ‹Ÿæœº %s "
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr "实例ä¸åœ¨æŒ‚起状æ€"
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
#, fuzzy
msgid "instance is suspended and cannot be powered off."
msgstr "实例未å¯åŠ¨"
-#: nova/virt/vmwareapi/vmops.py:854
+#: nova/virt/vmwareapi/vmops.py:832
#, fuzzy
msgid "VM was already in powered off state. So returning without doing anything"
msgstr "虚拟机 %s å·²ç»åœ¨æŒ‚起状æ€ã€‚ä¸åšä»»ä½•æ“作直接返回"
-#: nova/virt/vmwareapi/vmops.py:867
+#: nova/virt/vmwareapi/vmops.py:843
#, fuzzy
msgid "VM was already in powered on state. So returning without doing anything"
msgstr "虚拟机 %s å·²ç»åœ¨æŒ‚起状æ€ã€‚ä¸åšä»»ä½•æ“作直接返回"
-#: nova/virt/vmwareapi/vmops.py:871
+#: nova/virt/vmwareapi/vmops.py:847
#, fuzzy
msgid "Powering on the VM"
msgstr "正在关闭虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
#, fuzzy
msgid "Powered on the VM"
msgstr "关闭虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "将实例 '%(instance_uuid)s' 的进度更新到 %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "正在删除volumeID:%s "
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+#, fuzzy
+msgid "instance not present"
+msgstr "实例 - %s ä¸å­˜åœ¨"
+
+#: nova/virt/vmwareapi/vmops.py:951
#, 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:990
+#: nova/virt/vmwareapi/vmops.py:966
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "正在删除volumeID:%s "
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "从快照 %s 创建å·"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "自动冷é‡å¯ %d"
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics 没有在 vmwareapi 里实现"
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
#, fuzzy
msgid "Reconfiguring VM instance to set the machine id"
msgstr "正在é‡æ–°é…置虚拟机实例 %s æ¥é™„加镜åƒç£ç›˜"
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
#, fuzzy
msgid "Reconfigured VM instance to set the machine id"
msgstr "å·²ç»é‡æ–°é…置虚拟机实例 %s æ¥é™„加于镜åƒç£ç›˜"
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, 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:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, 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:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr "正在使用路径 %s 创建目录"
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr "å·²ç»åˆ›å»ºè·¯å¾„为 %s 的目录"
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr "正在从glanceé•œåƒæœåŠ¡å™¨ä¸­ä¸‹è½½é•œåƒ %s"
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr "å·²ç»ä»Žglanceé•œåƒæœåŠ¡å™¨ä¸­ä¸‹è½½é•œåƒ %s"
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: nova/virt/vmwareapi/vmware_images.py:114
#, python-format
msgid "Uploading image %s to the Glance image server"
msgstr "正在å‘Glanceé•œåƒæœåŠ¡å™¨ä¸Šä¼ é•œåƒ %s"
-#: nova/virt/vmwareapi/vmware_images.py:139
+#: nova/virt/vmwareapi/vmware_images.py:140
#, python-format
msgid "Uploaded image %s to the Glance image server"
msgstr "å·²ç»å‘Glanceé•œåƒæœåŠ¡å™¨ä¸Šä¼ äº†é•œåƒ %s"
-#: nova/virt/vmwareapi/vmware_images.py:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr "正在获å–é•œåƒ %s 的大å°"
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr "获得大å°ä¸º %(size)s çš„é•œåƒç›®çš„为了 %(image)s"
@@ -10395,7 +10567,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
@@ -10405,12 +10577,12 @@ msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgid "Unable to find iSCSI Target"
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "挂载点 %(mountpoint)s 附加到实例 %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "分离_volume: %(instance_name)s, %(mountpoint)s"
@@ -10420,118 +10592,111 @@ msgstr "分离_volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "没有在数æ®åº“找到å·"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "挂载点 %(mountpoint)s 从实例 %(instance_name)s 分离"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
-#, fuzzy, python-format
+#: nova/virt/xenapi/agent.py:123
+#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-"%(method)s 的代ç†è°ƒç”¨è¿”回无效的å“应:%(ret)r。虚拟机id=%(instance_uuid)s; path=%(path)s; "
-"args=%(addl_args)r"
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
-msgstr "查询代ç†ç‰ˆæœ¬å¤±è´¥ï¼š%(resp)r"
+msgid "Failed to query agent version: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr "查询代ç†ç‰ˆæœ¬"
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "把代ç†æ›´æ–°ä¸º %s"
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
-msgstr "更新代ç†å¤±è´¥ï¼š%(resp)r"
+msgid "Failed to update agent: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr "设置管ç†å‘˜å¯†ç "
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr "交æ¢é’¥åŒ™å¤±è´¥ï¼š%(resp)r"
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr "更新密ç å¤±è´¥ï¼š%(resp)r"
+msgid "Failed to exchange keys: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "注入文件路径:'%s'"
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
-msgstr "注入文件失败:%(resp)r"
+msgid "Failed to inject file: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr "é‡ç½®ç½‘络"
-#: nova/virt/xenapi/agent.py:286
-#, fuzzy, python-format
-msgid "Failed to reset network: %(resp)r"
-msgstr "注入文件失败:%(resp)r"
+#: nova/virt/xenapi/agent.py:290
+#, python-format
+msgid "Failed to reset network: %r"
+msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr "安装在该镜åƒçš„XenServer工具å¯ä»¥è¿›è¡Œç½‘络注入。网络文件ä¸ä¼šè¢«æ“作。"
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr "该镜åƒæœ‰XenServer工具,但是ä¸èƒ½è¿›è¡Œç½‘络注入"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr "没有在该镜åƒä¸Šå®‰è£…XenServer工具"
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL错误:%s"
@@ -10550,75 +10715,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr "ä¸æ”¯æŒåœ¨XenServerå¯åŠ¨ä¸»æœº"
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr "无法登录到XenAPI(Dom0ç£ç›˜æ˜¯ç©ºä¹ˆï¼Ÿ)"
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr "得到异常:%s"
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr "产生 NotImplemented 错误"
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake 没有 %s 的实现"
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
-msgstr "正在调用 %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr "调用 getter %s"
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "调用 getter %s"
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
"with the wrong number of arguments"
msgstr "xenapi.fake 没有 %s 的实现或者调用时用了错误数目的å‚æ•°"
-#: nova/virt/xenapi/host.py:68
+#: 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:80
+#: nova/virt/xenapi/host.py:82
#, fuzzy, python-format
msgid "Aggregate for host %(host)s count not be found."
msgstr "计算主机 %(host)s 没有找到。"
#: nova/virt/xenapi/host.py:101
#, python-format
-msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10651,7 +10816,7 @@ msgstr "å‘现桥 %s 的网络ä¸å”¯ä¸€"
msgid "Found no network for bridge %s"
msgstr "å‘现网桥 %s 没有网络"
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, fuzzy, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10660,37 +10825,37 @@ msgstr "èšåˆ %(aggregate_id)så·²ç»æœ‰ä¸»æœº %(host)s。"
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
-#, fuzzy, python-format
-msgid "Unable to join %(host)s in the pool"
-msgstr "无法找到实例 %s 的宿主机"
+#, python-format
+msgid "Unable to join %s in the pool"
+msgstr ""
#: nova/virt/xenapi/pool.py:211
-#, fuzzy, python-format
-msgid "Pool-eject failed: %(e)s"
-msgstr "注入文件失败:%(resp)r"
+#, python-format
+msgid "Pool-eject failed: %s"
+msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "无法使用全局角色 %(role_id)s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10701,80 +10866,78 @@ msgstr "没有找到设备 %s 的PIF"
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"PIF %(pif_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"
-#: nova/virt/xenapi/vm_utils.py:273
+#: nova/virt/xenapi/vm_utils.py:275
#, fuzzy
msgid "Created VM"
msgstr "_create: %s"
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: nova/virt/xenapi/vm_utils.py:292 nova/virt/xenapi/vm_utils.py:307
#, fuzzy
msgid "VM already halted, skipping shutdown..."
msgstr "虚拟机 %(instance_uuid)s å·²ç»ç»ˆæ­¢ï¼Œè·³è¿‡å…³é—­..."
-#: nova/virt/xenapi/vm_utils.py:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr "没有在实例 %s 找到VBD"
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, fuzzy, python-format
msgid "VBD %s already detached"
msgstr "å·²ç»åˆ†ç¦»"
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr "无法移除 VBD %s"
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr "æ— æ³•é”€æ¯ VBD %s"
-#: nova/virt/xenapi/vm_utils.py:410
+#: nova/virt/xenapi/vm_utils.py:414
#, fuzzy, python-format
msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
msgstr "创建了VBD %(vbd_ref)s 目的是为了虚拟机 %(vm_ref)s,VDI %(vdi_ref)s"
-#: nova/virt/xenapi/vm_utils.py:413
+#: 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 "创建了VBD %(vbd_ref)s 目的是为了虚拟机 %(vm_ref)s,VDI %(vdi_ref)s"
-#: nova/virt/xenapi/vm_utils.py:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr "æ— æ³•é”€æ¯ VDI %s"
-#: nova/virt/xenapi/vm_utils.py:466
+#: nova/virt/xenapi/vm_utils.py:472
#, python-format
msgid ""
"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
@@ -10783,298 +10946,312 @@ msgstr ""
"创建了 VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) ä½ç½®åœ¨"
" %(sr_ref)s。"
-#: nova/virt/xenapi/vm_utils.py:480
+#: nova/virt/xenapi/vm_utils.py:488
#, fuzzy
msgid "SR not present and could not be introduced"
msgstr "无法找到实例"
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, fuzzy, python-format
msgid "block device info: %s"
msgstr "å—设备列表 block_device_list %s"
-#: nova/virt/xenapi/vm_utils.py:591
+#: nova/virt/xenapi/vm_utils.py:599
#, python-format
msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
msgstr "克隆了 VDI %(vdi_ref)s 对象æ¥è‡ªVDI %(vdi_to_clone_ref)s"
-#: nova/virt/xenapi/vm_utils.py:636
-#, fuzzy, python-format
-msgid "No primary VDI found for %(vm_ref)s"
-msgstr "未找到 %(vm_ref)s 的主VDI"
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
#, fuzzy
msgid "Starting snapshot for VM"
msgstr "开始为虚拟机 %s 快照"
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
-msgstr "åªèƒ½åœ¨ext类型的缺çœæœ¬åœ°å­˜å‚¨åº“支æŒå¿«é€Ÿå…‹éš†ã€‚这个系统的存储库类型为 %(sr_type)s。忽略此 cow 标记。"
+"this system was found to be of type %s. Ignoring the cow flag."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: nova/virt/xenapi/vm_utils.py:1062
#, fuzzy, python-format
msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
msgstr "xapi 'download_vhd' 返回“%(vdi_type)sâ€ç±»åž‹çš„VDI,其UUID为 “%(vdi_uuid)sâ€"
-#: nova/virt/xenapi/vm_utils.py:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
-#, fuzzy, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
-msgstr "请求 xapi èŽ·å– vhd é•œåƒ %(image)s"
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, 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:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, 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:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, 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:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "å°†VDI %s å¤åˆ¶åˆ°dom0çš„/boot/guest下"
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "内核/内存盘 VDI %s 已销æ¯"
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "实例 %s:获å–Glanceé•œåƒå¤±è´¥"
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, 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:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "为PV内核查询vdi %s"
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
-msgstr "未知的镜åƒæ ¼å¼ %(disk_image_type)s"
+msgid "Unknown image format %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s ä¾ç„¶å¯ç”¨"
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr "é‡æ–°æ‰«æ存储库 %s"
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr "标记sr_matching_filter '%s' 没有éµå¾ªæ ¼å¼è¦æ±‚"
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr "无法找到content-type ISO的存储库"
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
-msgstr "ISO:正在查看存储库 %(sr_rec)s"
+msgid "ISO: looking at SR %s"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr "ISO:éžiso内容"
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO:iso content_type,没有 'i18n-key' 键"
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
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:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: 存储库符åˆæ ‡å‡†"
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr "ISO: ISO, 正在查看是å¦æ˜¯æœ¬åœ°çš„主机"
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
-msgstr "ISO: PBD %(pbd_ref)s 消失了"
+msgid "ISO: PBD %s disappeared"
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, 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:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr "ISO:å«æœ‰æœ¬åœ°PBD的存储库"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-msgstr "无法获å–包å«æœåŠ¡å™¨è¯¦ç»†æƒ…况的RRD XML更新:%(server)s。"
+msgid "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "æ¥è‡ªXenserver无效的统计数æ®ï¼š%s"
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, 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:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-msgstr "VHD coalesce å°†è¦è¶…过(%(max_attempts)d),放弃中..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "等待设备 %s 创建超时"
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr "æ’å…¥VBD %s... "
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr "æ’å…¥VBD %s 完æˆã€‚"
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, 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:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, 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:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "正在销æ¯VDI为 %s çš„ VBD "
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "å·²ç»é”€æ¯VDI为 %s çš„ VBD"
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr "对 %s è¿è¡Œpygrub"
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr "找到Xen内核 %s"
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr "没有找到Xen内核。正在å¯åŠ¨HVM。"
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11082,301 +11259,294 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr "分区:"
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sectors"
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, 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:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr "完æˆå†™å…¥åˆ†åŒºè¡¨ %s 。"
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr "直接æ“作接å£æ–‡ä»¶"
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr "挂载文件系统失败(期望的是éžLinux实例):%s"
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
-#, fuzzy, python-format
-msgid "Updating progress to %(progress)d"
-msgstr "将实例 '%(instance_uuid)s' 的进度更新到 %(progress)d"
+#: 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:174
+#: nova/virt/xenapi/vmops.py:175
#, fuzzy, python-format
msgid "Importing image upload handler: %s"
msgstr "正在删除基文件:%s"
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
#, fuzzy
msgid "Starting instance"
msgstr "正在å¯åŠ¨è™šæ‹Ÿæœº"
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr "从 dom0 中移除内核/内存盘文件"
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, fuzzy, python-format
msgid "Block device information present: %s"
msgstr "block_device_mapping %s"
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
#, fuzzy
msgid "Failed to spawn, rolling back"
msgstr "在数æ®åº“æ›´æ–°å·å¤±è´¥"
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
#, fuzzy
msgid "Auto configuring disk, attempting to resize partition..."
msgstr "正在自动é…置实例 %(instance_uuid)s çš„ç£ç›˜ï¼Œå°è¯•è°ƒæ•´åˆ†åŒºå¤§å°..."
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
#, fuzzy
msgid "Starting VM"
msgstr "é‡å¯xvp"
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: nova/virt/xenapi/vmops.py:660
#, python-format
msgid ""
"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
"%(version)s"
msgstr "%(hypervisor)s/%(os)s/%(architecture)s 最新的agent build 是 %(version)s 版本"
-#: nova/virt/xenapi/vmops.py:666
+#: nova/virt/xenapi/vmops.py:663
#, python-format
msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
msgstr "没有找到 %(hypervisor)s/%(os)s/%(architecture)s 的代ç†åˆ›å»º"
-#: nova/virt/xenapi/vmops.py:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr "实例代ç†ç‰ˆæœ¬ï¼š%s"
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr "设置VCPU æƒé‡"
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, fuzzy, python-format
msgid "Could not find VM with name %s"
msgstr "找ä¸åˆ°VDI ref"
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
#, fuzzy
msgid "Finished snapshot and upload for VM"
msgstr "快照完毕并为虚拟机 %s 上传"
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr "将 vhd 转移到新主机失败"
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: nova/virt/xenapi/vmops.py:991
#, python-format
msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
msgstr "将 VDI %(vdi_uuid)s 由 %(old_gb)dGB 调大到 %(new_gb)dGB"
-#: nova/virt/xenapi/vmops.py:1002
+#: nova/virt/xenapi/vmops.py:998
#, fuzzy
msgid "Resize complete"
msgstr "调整实例 %s 的大å°å®Œæ¯•"
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
#, fuzzy
msgid "Unable to find root VBD/VDI for VM"
msgstr "无法为VDI %s 找到VBD"
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
#, fuzzy
msgid "Destroying VDIs"
msgstr "é‡å¯xvp"
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
#, fuzzy
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr "实例 %(instance_uuid)s 使用RAW或者VHD,跳过内核和内存盘的删除"
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr "实例拥有内核或者内存盘,但ä¸æ˜¯äºŒè€…å‡æœ‰"
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr "内核/内存盘文件移除了"
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
#, fuzzy
msgid "Destroying VM"
msgstr "é‡å¯xvp"
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr "虚拟机ä¸å­˜åœ¨ï¼Œè·³è¿‡é”€æ¯..."
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr "实例已处于救æ´æ¨¡å¼ï¼š%s"
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
#, fuzzy
msgid "VM is not present, skipping soft delete..."
msgstr "虚拟机ä¸å­˜åœ¨ï¼Œè·³è¿‡é”€æ¯..."
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
#, fuzzy
msgid "Automatically hard rebooting"
msgstr "自动冷é‡å¯ %d"
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
#, fuzzy
msgid "Injecting network info to xenstore"
msgstr "为虚拟机注入网络信æ¯åˆ°xs:|%s|"
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
#, fuzzy
msgid "Creating vifs"
msgstr "正在创建镜åƒ"
-#: nova/virt/xenapi/vmops.py:1553
-#, fuzzy, python-format
-msgid "Creating VIF for network %(network_ref)s"
-msgstr "正在为虚拟机 %(vm_ref)s,网络 %(network_ref)s 创建VIF。"
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, fuzzy, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr "正在为虚拟机 %(vm_ref)s,网络 %(network_ref)s 创建VIF。"
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
#, fuzzy
msgid "Injecting hostname to xenstore"
msgstr "为虚拟机注入hostname到xs:|%s|"
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
#, fuzzy
msgid "No suitable network for migrate"
msgstr "错误的网络格å¼"
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
#, fuzzy
msgid "Migrate Send failed"
msgstr "创建失败"
#: nova/virt/xenapi/volume_utils.py:51
-#, fuzzy, python-format
-msgid "Creating SR %(label)s"
-msgstr "正在创建存储库 %s"
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
-#, fuzzy, python-format
-msgid "Introducing SR %(label)s"
-msgstr "引入存储库 %s"
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
#, fuzzy
@@ -11426,25 +11596,25 @@ msgstr "无法为存储库 %s 引入VDI"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
-msgstr "æ— æ³•èŽ·å¾—ç›®æ ‡ä¿¡æ¯ %(data)s, %(mountpoint)s"
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#, python-format
+msgid "Unable to obtain target information %s"
+msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
-#, fuzzy, python-format
-msgid "Unable to obtain target information %(connection_data)s"
-msgstr "æ— æ³•èŽ·å¾—ç›®æ ‡ä¿¡æ¯ %(data)s, %(mountpoint)s"
+#: 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:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
-#, fuzzy, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
-msgstr "实例 %(instance_id)s 没有找到。"
+#: 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
@@ -11454,7 +11624,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, fuzzy, python-format
msgid "upload_vhd failed: %r"
msgstr "未知的基文件:%s"
@@ -11464,32 +11634,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)"
@@ -11509,3 +11679,9 @@ msgstr "状æ€å¿…é¡»å¯ç”¨"
msgid "status must be 'available'"
msgstr "状æ€å¿…é¡»å¯ç”¨"
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr "è¯ä¹¦ %(certificate_id)s 没有找到。"
+
+#~ msgid "quantum authentication failed"
+#~ msgstr "认è¯é”™è¯¯"
+
diff --git a/nova/locale/zh_HK/LC_MESSAGES/nova.po b/nova/locale/zh_HK/LC_MESSAGES/nova.po
index 8efe90d03..539252510 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (Hong Kong) "
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -157,214 +157,221 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1974,43 +2013,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2039,7 +2108,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2219,7 +2288,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2323,290 +2392,290 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2685,7 +2754,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2777,28 +2846,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2890,13 +2964,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2945,7 +3019,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2993,7 +3067,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3021,34 +3095,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3073,12 +3147,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3189,18 +3257,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3208,7 +3293,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3225,36 +3310,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-msgid "Unknown action"
+#: 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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3319,26 +3412,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3382,98 +3475,103 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3485,30 +3583,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3518,35 +3616,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3567,552 +3665,563 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4170,686 +4279,689 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
#, python-format
-msgid "Cannot reboot instance: %(exc)s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4949,11 +5061,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4963,18 +5075,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5056,11 +5168,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5078,24 +5190,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5112,57 +5244,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5186,47 +5318,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5351,23 +5488,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5392,109 +5529,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5502,98 +5639,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5628,78 +5765,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5721,7 +5859,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5734,45 +5872,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5784,21 +5922,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6001,21 +6139,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6205,7 +6353,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6234,44 +6382,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6496,7 +6644,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6614,7 +6762,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6635,10 +6783,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6646,6 +6801,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6836,12 +6996,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6886,13 +7046,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6905,64 +7058,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6972,22 +7132,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7053,28 +7213,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7084,25 +7252,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7111,42 +7279,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7255,22 +7423,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7290,7 +7458,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7300,28 +7468,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7406,15 +7574,15 @@ 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 ""
@@ -7896,16 +8064,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8248,12 +8416,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8411,7 +8579,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8430,250 +8598,256 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8681,73 +8855,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8755,50 +8932,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8808,67 +8985,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8879,33 +9056,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9051,22 +9228,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. "
@@ -9074,17 +9251,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9121,14 +9298,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9136,7 +9313,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9144,7 +9321,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9152,7 +9329,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9160,87 +9337,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9344,26 +9521,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9509,32 +9686,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9544,39 +9721,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9585,38 +9762,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9659,57 +9836,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9717,311 +9894,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10084,7 +10260,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10093,12 +10269,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10107,116 +10283,111 @@ msgstr ""
msgid "Unable to find volume"
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
-#, python-format
-msgid "Failed to exchange keys: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:224
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to update password: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10232,75 +10403,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10332,7 +10503,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10341,37 +10512,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
#, python-format
-msgid "Unable to set up pool: %(e)s."
+msgid "Unable to set up pool: %s."
msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10382,371 +10553,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10754,282 +10939,275 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
msgid "Unable to terminate instance."
msgstr ""
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11078,24 +11256,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
+#: nova/virt/xenapi/volumeops.py:74
#, python-format
-msgid "Connect_volume: %(connection_info)s"
+msgid "Connect_volume: %s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11106,7 +11284,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11116,32 +11294,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 ""
@@ -11159,3 +11337,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ msgstr ""
+
diff --git a/nova/locale/zh_TW/LC_MESSAGES/nova.po b/nova/locale/zh_TW/LC_MESSAGES/nova.po
index f728d613a..f48f2d168 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-03 19:38+0000\n"
+"POT-Creation-Date: 2013-06-19 19:38+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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-#: nova/block_device.py:167 nova/virt/hyperv/basevolumeutils.py:91
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
#, python-format
msgid "block_device_list %s"
msgstr ""
@@ -156,215 +156,222 @@ msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
#: nova/exception.py:225
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:231
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:236
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:229
+#: nova/exception.py:240
#, 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:235 nova/api/ec2/cloud.py:462
-#: nova/api/openstack/compute/contrib/keypairs.py:98
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:99
-#: nova/compute/api.py:2792
+#: nova/exception.py:246 nova/api/ec2/cloud.py:473
msgid "Keypair data is invalid"
msgstr "無效的Keypair"
-#: nova/exception.py:239
+#: nova/exception.py:250
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:243
+#: nova/exception.py:254
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:247
+#: nova/exception.py:258
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1338
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1434
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:255
+#: nova/exception.py:266
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:259
+#: nova/exception.py:270
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:263
+#: nova/exception.py:274
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:267
+#: nova/exception.py:278
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:271
+#: nova/exception.py:282
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:293
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:286
+#: nova/exception.py:297
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:291
+#: nova/exception.py:302
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:299
+#: nova/exception.py:310
#, 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:304
+#: nova/exception.py:315
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:308
+#: nova/exception.py:319
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:312
+#: nova/exception.py:323
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:316
+#: nova/exception.py:327
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:320
+#: nova/exception.py:331
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:324
+#: nova/exception.py:335
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/exception.py:328
+#: nova/exception.py:339
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:332
+#: nova/exception.py:343
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:336
+#: nova/exception.py:347
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:340
+#: nova/exception.py:351
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:344
+#: nova/exception.py:355
#, fuzzy
msgid "Failed to deploy instance"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/exception.py:348
+#: nova/exception.py:359
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:352
+#: nova/exception.py:363
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:356
+#: nova/exception.py:367
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:360
+#: nova/exception.py:371
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:365
+#: nova/exception.py:376
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:369
+#: nova/exception.py:380
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:374
+#: nova/exception.py:385
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:379
+#: nova/exception.py:390
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:383
+#: nova/exception.py:394
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:388
+#: nova/exception.py:399
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:392
+#: nova/exception.py:403
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:396
+#: nova/exception.py:407
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:400
+#: nova/exception.py:411
#, 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:406
+#: nova/exception.py:417
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -372,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:413
+#: nova/exception.py:424
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:428
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:421
+#: nova/exception.py:432
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:425
+#: nova/exception.py:436
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:429
+#: nova/exception.py:440
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:433
+#: nova/exception.py:444
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:437
+#: nova/exception.py:448
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:442
+#: nova/exception.py:453
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:447
+#: nova/exception.py:458
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:451
+#: nova/exception.py:462
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:455
+#: nova/exception.py:466
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:459
+#: nova/exception.py:470
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:463
+#: nova/exception.py:474
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:467
+#: nova/exception.py:478
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:471
+#: nova/exception.py:482
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:475
+#: nova/exception.py:486
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:479
+#: nova/exception.py:490
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -458,863 +465,900 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:497
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:501
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:494
+#: nova/exception.py:505
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:498
+#: nova/exception.py:509
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:502
+#: nova/exception.py:513
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:506
+#: nova/exception.py:517
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:510
+#: nova/exception.py:521
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:514
+#: nova/exception.py:525
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:518
+#: nova/exception.py:529
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:522
+#: nova/exception.py:533
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:526
+#: nova/exception.py:537
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:530
+#: nova/exception.py:541
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:534
+#: nova/exception.py:545
#, 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:539
+#: nova/exception.py:550
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:543
+#: nova/exception.py:554
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:547
+#: nova/exception.py:558
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:551
+#: nova/exception.py:562
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:555
+#: nova/exception.py:566
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:559
+#: nova/exception.py:570
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:563
+#: nova/exception.py:574
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:567
+#: nova/exception.py:578
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:572
+#: nova/exception.py:583
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:576
+#: nova/exception.py:587
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:581
+#: nova/exception.py:592
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:586
+#: nova/exception.py:597
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:591
+#: nova/exception.py:602
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:595
+#: nova/exception.py:606
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:599
+#: nova/exception.py:610
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:608
+#: nova/exception.py:619
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:612
+#: nova/exception.py:623
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:616
+#: nova/exception.py:627
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:620
+#: nova/exception.py:631
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:624
+#: nova/exception.py:635
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:628
+#: nova/exception.py:639
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:632
+#: nova/exception.py:643
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:637
+#: nova/exception.py:648
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:642
+#: nova/exception.py:653
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:646
+#: nova/exception.py:657
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:650
+#: nova/exception.py:661
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:654
+#: nova/exception.py:665
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:658
+#: nova/exception.py:669
msgid "Cannot disassociate auto assigined floating ip"
msgstr ""
-#: nova/exception.py:662
+#: nova/exception.py:673
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:666
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:670
+#: nova/exception.py:677
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:674
+#: nova/exception.py:681
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:678
+#: nova/exception.py:685
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:682
+#: nova/exception.py:689
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:686
+#: nova/exception.py:693
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:690
+#: nova/exception.py:697
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:695
+#: nova/exception.py:702
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:699
+#: nova/exception.py:706
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:703
+#: nova/exception.py:710
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:707
+#: nova/exception.py:714
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:711
+#: nova/exception.py:718
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:715
+#: nova/exception.py:722
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:719
+#: nova/exception.py:726
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:723
+#: nova/exception.py:730
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:727
+#: nova/exception.py:734
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:732
+#: nova/exception.py:739
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:736
+#: nova/exception.py:743
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:741
+#: nova/exception.py:748
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:746
+#: nova/exception.py:753
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:750
+#: nova/exception.py:757
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:755
+#: nova/exception.py:762
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:760
+#: nova/exception.py:767
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:764
+#: nova/exception.py:771
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:769
+#: nova/exception.py:776
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:773
+#: nova/exception.py:780
#, 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:779
+#: nova/exception.py:786
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:783
+#: nova/exception.py:790
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:787
+#: nova/exception.py:794
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:792
+#: nova/exception.py:799
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:796
+#: nova/exception.py:803
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:800
+#: nova/exception.py:807
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:805
+#: nova/exception.py:812
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:809
+#: nova/exception.py:816
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:814
+#: nova/exception.py:821
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:818
+#: nova/exception.py:825
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:829
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:822
+#: nova/exception.py:833
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:826
+#: nova/exception.py:837
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:830
+#: nova/exception.py:841
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:834
+#: nova/exception.py:845
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:838
+#: nova/exception.py:849
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:842
+#: nova/exception.py:853
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:846
+#: nova/exception.py:857
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:850
+#: nova/exception.py:861
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:855
+#: nova/exception.py:866
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:860
+#: nova/exception.py:871
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:865
+#: nova/exception.py:876
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:869
+#: nova/exception.py:880
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:873
+#: nova/exception.py:884
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:878
+#: nova/exception.py:889
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:882
+#: nova/exception.py:893
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:886
+#: nova/exception.py:897
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:890
+#: nova/exception.py:901
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:894
+#: nova/exception.py:905
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:898
+#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
#, python-format
-msgid "Key pair %(key_name)s already exists."
+msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:902
+#: nova/exception.py:913
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:906
+#: nova/exception.py:917
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:910
+#: nova/exception.py:921
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:914
+#: nova/exception.py:925
#, python-format
msgid ""
"Flavor access alreay exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:919
+#: nova/exception.py:930
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:923
+#: nova/exception.py:934
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:927
+#: nova/exception.py:938
msgid "Migration error"
msgstr ""
-#: nova/exception.py:931
+#: nova/exception.py:942
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:935
+#: nova/exception.py:946
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:941
+#: nova/exception.py:952
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:945
+#: nova/exception.py:956
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:949
+#: nova/exception.py:960
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:953
+#: nova/exception.py:964
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:957
+#: nova/exception.py:968
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:972
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:961
+#: nova/exception.py:976
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:965
+#: nova/exception.py:980
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:969
+#: nova/exception.py:984
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:973
+#: nova/exception.py:988
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:977
+#: nova/exception.py:992
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:999
#, 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:989
+#: nova/exception.py:1004
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:993
+#: nova/exception.py:1008
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:997
+#: nova/exception.py:1012
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1001
+#: nova/exception.py:1016
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1005
+#: nova/exception.py:1020
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1009
+#: nova/exception.py:1024
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1013
+#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1017
+#: nova/exception.py:1032
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1021
+#: nova/exception.py:1036
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1026
+#: nova/exception.py:1041
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1030
+#: nova/exception.py:1045
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1034
+#: nova/exception.py:1049
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1038
+#: nova/exception.py:1053
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1043
+#: nova/exception.py:1058
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1047
+#: nova/exception.py:1062
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1051
+#: nova/exception.py:1066
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1057
+#: nova/exception.py:1072
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1061
+#: nova/exception.py:1076
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1081
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1070
+#: nova/exception.py:1085
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1075
+#: nova/exception.py:1090
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1079
+#: nova/exception.py:1094
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1083
+#: nova/exception.py:1098
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1087
+#: nova/exception.py:1102
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1091
+#: nova/exception.py:1106
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1095
+#: nova/exception.py:1110
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1099
+#: nova/exception.py:1114
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1103
+#: nova/exception.py:1118
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1107
+#: nova/exception.py:1122
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1111
+#: nova/exception.py:1126
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1116
+#: nova/exception.py:1131
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1121
+#: nova/exception.py:1136
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/exception.py:1125
+#: nova/exception.py:1140
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1129
+#: nova/exception.py:1144
#, 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:1135
+#: nova/exception.py:1150
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1139
+#: nova/exception.py:1154
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1159
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1149
+#: nova/exception.py:1164
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1153
+#: nova/exception.py:1168
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1158
+#: nova/exception.py:1173
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1162
+#: nova/exception.py:1177
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1166
+#: nova/exception.py:1181
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1170
+#: nova/exception.py:1185
#, python-format
-msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
msgstr ""
-#: nova/exception.py:1175
+#: nova/exception.py:1190
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1180
+#: nova/exception.py:1195
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1200
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1205
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1194
+#: nova/exception.py:1209
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:1198
+#: nova/exception.py:1213
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:1203
+#: nova/exception.py:1218
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1208
+#: nova/exception.py:1223
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1214
+#: nova/exception.py:1229
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1233
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1222
+#: nova/exception.py:1237
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
+#: nova/exception.py:1241
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1245
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1249
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1253
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1258
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1263
+#, 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"
@@ -1333,7 +1377,7 @@ msgstr ""
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:232
+#: nova/notifications.py:233
msgid "Failed to get nw_info"
msgstr ""
@@ -1370,148 +1414,143 @@ msgstr ""
msgid "Rolled back reservations %(reservations)s"
msgstr ""
-#: nova/service.py:152
+#: nova/service.py:153
#, python-format
msgid "Starting %(topic)s node (version %(version)s)"
msgstr ""
-#: nova/service.py:169 nova/openstack/common/rpc/service.py:47
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
#, python-format
msgid "Creating Consumer connection for Service %s"
msgstr ""
-#: nova/service.py:189
+#: nova/service.py:190
#, python-format
msgid "Join ServiceGroup membership for this service %s"
msgstr ""
-#: nova/service.py:269
+#: nova/service.py:270
msgid "Service killed that has no database entry"
msgstr ""
-#: nova/service.py:291
+#: nova/service.py:292
#, python-format
msgid "Temporary directory is invalid: %s"
msgstr ""
-#: nova/service.py:393
+#: nova/service.py:394
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:145
+#: nova/utils.py:142
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:173
+#: nova/utils.py:170
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:335
+#: nova/utils.py:333
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:338
+#: nova/utils.py:336
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:377
+#: nova/utils.py:375
#, python-format
msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:438
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:567
+#: nova/utils.py:525
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:596
+#: nova/utils.py:554
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:733
+#: nova/utils.py:696
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:799
+#: nova/utils.py:750 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:933 nova/virt/configdrive.py:177
+#: nova/utils.py:872 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1092
+#: nova/utils.py:1032
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1096
+#: nova/utils.py:1036
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1041
#, 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 ""
@@ -1525,7 +1564,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 ""
@@ -1544,124 +1583,124 @@ msgstr ""
msgid "FaultWrapper: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:174
+#: nova/api/ec2/__init__.py:175
msgid "Too many failed authentications."
msgstr ""
-#: nova/api/ec2/__init__.py:183
+#: 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:202
+#: nova/api/ec2/__init__.py:203
msgid "Signature not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:206
+#: nova/api/ec2/__init__.py:207
msgid "Access key not provided"
msgstr ""
-#: nova/api/ec2/__init__.py:241 nova/api/ec2/__init__.py:256
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
msgid "Failure communicating with keystone"
msgstr ""
-#: nova/api/ec2/__init__.py:255
+#: nova/api/ec2/__init__.py:256
#, python-format
msgid "Keystone failure: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:315
+#: nova/api/ec2/__init__.py:316
msgid "Timestamp failed validation."
msgstr ""
-#: nova/api/ec2/__init__.py:335
+#: nova/api/ec2/__init__.py:336
#, python-format
msgid "action: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:337
+#: nova/api/ec2/__init__.py:338
#, python-format
msgid "arg: %(key)s\t\tval: %(value)s"
msgstr ""
-#: nova/api/ec2/__init__.py:413
+#: 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:487
+#: nova/api/ec2/__init__.py:488
#, python-format
msgid "InstanceNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:493
+#: nova/api/ec2/__init__.py:494
#, python-format
msgid "VolumeNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:499
+#: nova/api/ec2/__init__.py:500
#, python-format
msgid "SnapshotNotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:505
+#: nova/api/ec2/__init__.py:506
#, python-format
msgid "NotFound raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:514
+#: nova/api/ec2/__init__.py:515
#, python-format
msgid "KeyPairExists raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:519
+#: nova/api/ec2/__init__.py:520
#, python-format
msgid "InvalidKeypair raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:524
+#: nova/api/ec2/__init__.py:525
#, python-format
msgid "InvalidParameterValue raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:528
+#: nova/api/ec2/__init__.py:529
#, python-format
msgid "InvalidPortRange raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:532
+#: nova/api/ec2/__init__.py:533
#, python-format
msgid "NotAuthorized raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:536
+#: nova/api/ec2/__init__.py:537
#, python-format
msgid "InvalidRequest raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:540
+#: nova/api/ec2/__init__.py:541
#, python-format
msgid "QuotaError raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:544
+#: nova/api/ec2/__init__.py:545
#, python-format
msgid "Invalid id: bogus (expecting \"i-...\"): %s"
msgstr ""
-#: nova/api/ec2/__init__.py:553
+#: nova/api/ec2/__init__.py:554
#, python-format
msgid "Unexpected error raised: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:554
+#: nova/api/ec2/__init__.py:555
#, python-format
msgid "Environment: %s"
msgstr ""
-#: nova/api/ec2/__init__.py:556 nova/api/metadata/handler.py:136
+#: 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 ""
@@ -1671,261 +1710,261 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:391
+#: nova/api/ec2/cloud.py:402
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:416
+#: nova/api/ec2/cloud.py:427
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:433
+#: nova/api/ec2/cloud.py:444
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:440 nova/api/ec2/cloud.py:459
+#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
#: nova/api/openstack/compute/contrib/keypairs.py:93
#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:449
+#: nova/api/ec2/cloud.py:460
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:469
+#: nova/api/ec2/cloud.py:480
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:611 nova/api/ec2/cloud.py:731
+#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:616
+#: nova/api/ec2/cloud.py:627
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:623
+#: nova/api/ec2/cloud.py:634
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:653 nova/api/ec2/cloud.py:685
+#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:676
+#: nova/api/ec2/cloud.py:687
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:759
+#: nova/api/ec2/cloud.py:770
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:832
+#: nova/api/ec2/cloud.py:841
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:836 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:845 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:863
+#: nova/api/ec2/cloud.py:872
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:876
+#: nova/api/ec2/cloud.py:885
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:896
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:918 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:916
+#: nova/api/ec2/cloud.py:925
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
-#: nova/api/ec2/cloud.py:1556 nova/api/ec2/cloud.py:1571
+#: nova/api/ec2/cloud.py:951 nova/api/ec2/cloud.py:1008
+#: nova/api/ec2/cloud.py:1574 nova/api/ec2/cloud.py:1589
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1073
+#: nova/api/ec2/cloud.py:1083
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1233
+#: nova/api/ec2/cloud.py:1243
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1237
+#: nova/api/ec2/cloud.py:1247
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1241
+#: nova/api/ec2/cloud.py:1251
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1246
+#: nova/api/ec2/cloud.py:1256
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1259
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1259
+#: nova/api/ec2/cloud.py:1269
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1267
+#: nova/api/ec2/cloud.py:1277
#: 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:1276
+#: nova/api/ec2/cloud.py:1286
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1289
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1282
+#: nova/api/ec2/cloud.py:1292
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1290
+#: nova/api/ec2/cloud.py:1300
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1295
+#: nova/api/ec2/cloud.py:1305
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1298
+#: nova/api/ec2/cloud.py:1308
#: nova/api/openstack/compute/contrib/floating_ips.py:97
msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/api/ec2/cloud.py:1325
+#: nova/api/ec2/cloud.py:1335
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1357
+#: nova/api/ec2/cloud.py:1373
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1367
+#: nova/api/ec2/cloud.py:1383
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1376
+#: nova/api/ec2/cloud.py:1393
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1403
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1476
+#: nova/api/ec2/cloud.py:1494
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1492
+#: nova/api/ec2/cloud.py:1510
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1511
+#: nova/api/ec2/cloud.py:1529
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1574
+#: nova/api/ec2/cloud.py:1592
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1576
+#: nova/api/ec2/cloud.py:1594
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1578
+#: nova/api/ec2/cloud.py:1596
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1580
+#: nova/api/ec2/cloud.py:1598
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1593
+#: nova/api/ec2/cloud.py:1611
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1621
+#: nova/api/ec2/cloud.py:1639
#, 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:1652
+#: nova/api/ec2/cloud.py:1671
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1670
+#: nova/api/ec2/cloud.py:1689
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+#: nova/api/ec2/cloud.py:1714 nova/api/ec2/cloud.py:1759
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1697 nova/api/ec2/cloud.py:1742
+#: nova/api/ec2/cloud.py:1717 nova/api/ec2/cloud.py:1762
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+#: nova/api/ec2/cloud.py:1721 nova/api/ec2/cloud.py:1766
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1704 nova/api/ec2/cloud.py:1749
+#: nova/api/ec2/cloud.py:1724 nova/api/ec2/cloud.py:1769
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1781
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1834
+#: nova/api/ec2/cloud.py:1854
msgid "Invalid CIDR"
msgstr ""
@@ -1975,43 +2014,73 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/api/openstack/__init__.py:62
+#: nova/api/openstack/__init__.py:79
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:71
+#: nova/api/openstack/__init__.py:88
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:158
+#: nova/api/openstack/__init__.py:175
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:169 nova/api/openstack/__init__.py:289
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:204 nova/api/openstack/__init__.py:336
+#: 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:209 nova/api/openstack/__init__.py:341
+#: 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:286
+#: 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:328
+#: nova/api/openstack/__init__.py:388
#, python-format
msgid "Running _register_controllers on %s"
msgstr ""
@@ -2040,7 +2109,7 @@ 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:603
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
#, python-format
msgid "marker [%s] not found"
msgstr ""
@@ -2220,7 +2289,7 @@ msgid ""
"Context's project_id '%(context_project_id)s'"
msgstr ""
-#: nova/api/openstack/wsgi.py:1179
+#: nova/api/openstack/wsgi.py:1181
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
@@ -2324,291 +2393,291 @@ msgid "Metadata item was not found"
msgstr ""
#: nova/api/openstack/compute/servers.py:521
-#: nova/api/openstack/compute/contrib/cells.py:272
-#: nova/api/openstack/compute/plugins/v3/servers.py:568
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: 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:587
+#: 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:606
+#: 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: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/plugins/v3/servers.py:623
-#: nova/api/openstack/compute/plugins/v3/servers.py:790
-#: nova/api/openstack/compute/plugins/v3/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1206
-#: nova/api/openstack/compute/plugins/v3/servers.py:1385
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1008
+#: nova/api/openstack/compute/servers.py:1116
+#: nova/api/openstack/compute/servers.py:1289
+#: 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:595
-#: nova/api/openstack/compute/plugins/v3/servers.py:642
+#: 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/plugins/v3/servers.py:659
+#: 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/plugins/v3/servers.py:662
+#: 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/plugins/v3/servers.py:665
+#: 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/plugins/v3/servers.py:696
+#: 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/plugins/v3/servers.py:699
+#: 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/plugins/v3/servers.py:709
+#: 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/plugins/v3/servers.py:719
+#: 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/plugins/v3/servers.py:732
+#: 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/plugins/v3/servers.py:738
+#: 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/plugins/v3/servers.py:741
+#: 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/plugins/v3/servers.py:767
+#: 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/plugins/v3/servers.py:772
+#: 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/plugins/v3/servers.py:777
+#: 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/plugins/v3/servers.py:806
+#: 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/plugins/v3/servers.py:881
-#: nova/api/openstack/compute/plugins/v3/servers.py:998
+#: 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/plugins/v3/servers.py:929
+#: 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/plugins/v3/servers.py:932
+#: 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/plugins/v3/servers.py:938
+#: 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/plugins/v3/servers.py:941
+#: 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/plugins/v3/servers.py:945
+#: 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/plugins/v3/servers.py:995
+#: 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/plugins/v3/servers.py:1001
+#: 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:1086
+#: nova/api/openstack/compute/servers.py:996
+#: 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:1090
+#: nova/api/openstack/compute/servers.py:1000
+#: 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:1116
-#: nova/api/openstack/compute/plugins/v3/servers.py:1133
+#: nova/api/openstack/compute/servers.py:1026
+#: nova/api/openstack/compute/servers.py:1043
+#: 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:1136
+#: nova/api/openstack/compute/servers.py:1046
+#: 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:1152
+#: nova/api/openstack/compute/servers.py:1062
+#: 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:1156
+#: nova/api/openstack/compute/servers.py:1066
+#: 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:1178
+#: nova/api/openstack/compute/servers.py:1088
+#: 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:1181
+#: nova/api/openstack/compute/servers.py:1091
+#: 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:1187
+#: nova/api/openstack/compute/servers.py:1097
+#: 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:1191
+#: nova/api/openstack/compute/servers.py:1101
+#: 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:1195
+#: nova/api/openstack/compute/servers.py:1105
+#: 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:1216
+#: nova/api/openstack/compute/servers.py:1126
+#: 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:1225
+#: nova/api/openstack/compute/servers.py:1135
+#: 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:1258
+#: nova/api/openstack/compute/servers.py:1162
+#: 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:1271
+#: nova/api/openstack/compute/servers.py:1175
+#: 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:1275
-#: nova/api/openstack/compute/plugins/v3/servers.py:1484
+#: nova/api/openstack/compute/servers.py:1179
+#: nova/api/openstack/compute/servers.py:1388
+#: 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:1281
+#: nova/api/openstack/compute/servers.py:1185
+#: 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:1290
+#: nova/api/openstack/compute/servers.py:1194
+#: 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:1303
+#: nova/api/openstack/compute/servers.py:1207
+#: 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:1306
+#: nova/api/openstack/compute/servers.py:1210
+#: 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:1228
#: nova/api/openstack/compute/contrib/aggregates.py:143
#: nova/api/openstack/compute/contrib/coverage_ext.py:284
#: 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:1324
+#: 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:1330
+#: nova/api/openstack/compute/servers.py:1234
+#: 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:1391
+#: nova/api/openstack/compute/servers.py:1295
+#: 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:1425
+#: nova/api/openstack/compute/servers.py:1329
+#: 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:1506
+#: nova/api/openstack/compute/servers.py:1414
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2687,7 +2756,7 @@ 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:38
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
msgid "Instance not found"
msgstr ""
@@ -2780,28 +2849,33 @@ msgstr ""
msgid "Must specify id or address"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:193
+#: nova/api/openstack/compute/contrib/cells.py:210
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
msgid "Cell name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:197
+#: nova/api/openstack/compute/contrib/cells.py:242
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:204
+#: nova/api/openstack/compute/contrib/cells.py:249
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:224
-#: nova/api/openstack/compute/contrib/cells.py:244
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
msgid "No cell information in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:229
+#: nova/api/openstack/compute/contrib/cells.py:274
msgid "No cell name in request"
msgstr ""
-#: nova/api/openstack/compute/contrib/cells.py:266
+#: nova/api/openstack/compute/contrib/cells.py:311
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
@@ -2895,13 +2969,13 @@ msgstr ""
msgid "Error in evacuate, %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
#, python-format
msgid "Fixed IP %s not found"
@@ -2950,7 +3024,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:437
+#: nova/api/openstack/compute/contrib/security_groups.py:445
msgid "Missing parameter dict"
msgstr ""
@@ -2998,7 +3072,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:377
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3026,34 +3100,34 @@ msgstr ""
msgid "'status' or 'maintenance_mode' needed for host update"
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:205
+#: 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:211
+#: 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:224
+#: nova/api/openstack/compute/contrib/hosts.py:227
#, python-format
msgid "Enabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:226
+#: nova/api/openstack/compute/contrib/hosts.py:229
#, python-format
msgid "Disabling host %s."
msgstr ""
-#: nova/api/openstack/compute/contrib/hosts.py:231
+#: 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:247
+#: 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:333
+#: nova/api/openstack/compute/contrib/hosts.py:336
msgid "Describe-resource is admin only functionality"
msgstr ""
@@ -3078,12 +3152,6 @@ msgstr ""
msgid "Invalid timestamp for date %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/keypairs.py:101
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:102
-#, python-format
-msgid "Key pair '%s' already exists."
-msgstr ""
-
#: nova/api/openstack/compute/contrib/multinic.py:52
msgid "Missing 'networkId' argument for addFixedIp"
msgstr ""
@@ -3194,18 +3262,35 @@ msgstr ""
msgid "Create networks failed"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:69
+#: nova/api/openstack/compute/contrib/quotas.py:71
msgid "Quota limit must be -1 or greater."
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:104
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
-#: nova/api/openstack/compute/contrib/quotas.py:111
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
#, python-format
-msgid "Quota for %s should be integer."
+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
@@ -3213,7 +3298,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:348
+#: nova/api/openstack/compute/contrib/security_groups.py:352
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3230,37 +3315,44 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:356
+#: nova/api/openstack/compute/contrib/security_groups.py:360
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:440
+#: nova/api/openstack/compute/contrib/security_groups.py:448
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:444
+#: nova/api/openstack/compute/contrib/security_groups.py:452
msgid "Security group name cannot be empty"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
msgid "start instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
msgid "stop instance"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:121
-#, fuzzy
-msgid "Unknown action"
-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:135
+#: 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:226
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
msgid "Invalid start time. The start time cannot occur after the end time."
msgstr ""
@@ -3325,26 +3417,26 @@ msgstr ""
msgid "Unreserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#: 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:495
+#: 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:513
+#: 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:1039
+#: 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 ""
@@ -3388,99 +3480,104 @@ msgstr ""
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:659
+#: nova/cells/messaging.py:663
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:682
+#: nova/cells/messaging.py:686
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:692
+#: nova/cells/messaging.py:696
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:819
+#: nova/cells/messaging.py:823
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/cells/messaging.py:862
+#: nova/cells/messaging.py:866
#, fuzzy
msgid "Got update to delete instance"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/cells/messaging.py:877
+#: nova/cells/messaging.py:881
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:891
+#: nova/cells/messaging.py:895
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:912
+#: nova/cells/messaging.py:916
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1097
+#: nova/cells/messaging.py:1101
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1117
+#: nova/cells/messaging.py:1121
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:115
+#: nova/cells/scheduler.py:128
#, python-format
-msgid "Scheduling with routing_path=%(routing_path)s"
+msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:141
+#: nova/cells/scheduler.py:144
#, python-format
-msgid "Weighted cells: %(weighted_cells)s"
+msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165
+#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169
+#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
msgid "Couldn't communicate with any cells"
msgstr ""
#: nova/cells/scheduler.py:183
#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:252
+#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:191
+#: nova/cells/scheduler.py:258
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:270
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:315
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:331
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3492,30 +3589,30 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:68
+#: 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:48
-msgid "Instance type for vpn instances"
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
msgstr ""
-#: nova/cloudpipe/pipelib.py:51
+#: nova/cloudpipe/pipelib.py:53
msgid "Template for cloudpipe instance boot script"
msgstr ""
-#: nova/cloudpipe/pipelib.py:54
+#: nova/cloudpipe/pipelib.py:56
msgid "Network to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:57
+#: nova/cloudpipe/pipelib.py:59
msgid "Netmask to push into openvpn config"
msgstr ""
-#: nova/cloudpipe/pipelib.py:126
+#: nova/cloudpipe/pipelib.py:128
#, python-format
msgid "Launching VPN for %s"
msgstr ""
@@ -3525,35 +3622,35 @@ msgstr ""
msgid "Failed to load %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:236
+#: nova/cmd/baremetal_deploy_helper.py:243
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:244
+#: nova/cmd/baremetal_deploy_helper.py:251
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:248
+#: nova/cmd/baremetal_deploy_helper.py:255
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:156 nova/cmd/manage.py:1242
+#: 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:160 nova/cmd/manage.py:1246
+#: 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:162 nova/cmd/manage.py:1248
+#: 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:202 nova/cmd/manage.py:1293
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3574,554 +3671,565 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:202
+#: 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:237
+#: 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:243
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:244
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:245
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:246
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:286 nova/cmd/manage.py:357 nova/cmd/manage.py:681
-#: nova/cmd/manage.py:694
+#: 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:294
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:295
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:296
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:297 nova/cmd/manage.py:814
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:309 nova/cmd/manage.py:333
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:325
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:384
+#: 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:433
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:495 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:496 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:497 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:498 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:499 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:500 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:501 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:502 nova/cmd/manage.py:608
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:503 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:510
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:529
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:534
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:537
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:600
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:601
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:602
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:603
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:610 nova/cmd/manage.py:815
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:656
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:657
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:658
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:659
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:683
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:696
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:763
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:764
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:769
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:770
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:771
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:854
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:893
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:897
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:898
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:916
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:924
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:960
+#: 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:982
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1026
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1067
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1069
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1085
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1094
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
-#: nova/compute/api.py:294
+#: 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:293
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:301
+#: nova/compute/api.py:300
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:310
+#: nova/compute/api.py:309
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:330
+#: nova/compute/api.py:329
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:340
+#: nova/compute/api.py:339
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:344
+#: nova/compute/api.py:343
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:348
+#: nova/compute/api.py:347
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:481
+#: nova/compute/api.py:480
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:575
+#: nova/compute/api.py:563
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/api.py:669
+#: nova/compute/api.py:661
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:785
+#: nova/compute/api.py:806
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:812
+#: nova/compute/api.py:833
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1084
+#: nova/compute/api.py:1116
#, fuzzy
msgid "instance termination disabled"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/compute/api.py:1220
+#: nova/compute/api.py:1252
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1226
+#: nova/compute/api.py:1258
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1236
+#: nova/compute/api.py:1268
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1279
+#: nova/compute/api.py:1311
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1303
+#: nova/compute/api.py:1335
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1353
+#: nova/compute/api.py:1385
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1370
+#: nova/compute/api.py:1401
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1443
+#: nova/compute/api.py:1473
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1679
+#: nova/compute/api.py:1710
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2010
+#: nova/compute/api.py:2046
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2019
+#: nova/compute/api.py:2055
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2065
+#: nova/compute/api.py:2103
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2201
+#: nova/compute/api.py:2241
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2306
+#: nova/compute/api.py:2346
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2314
+#: nova/compute/api.py:2354
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2386
+#: nova/compute/api.py:2426
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2499
+#: nova/compute/api.py:2540
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2521
+#: nova/compute/api.py:2562
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2525
+#: nova/compute/api.py:2566
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2772
+#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2776
+#: nova/compute/api.py:2818 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:2872
+#: nova/compute/api.py:2900
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2875
+#: nova/compute/api.py:2903
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2883
+#: nova/compute/api.py:2911
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2889
+#: nova/compute/api.py:2917
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2907
+#: nova/compute/api.py:2935
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2910
+#: nova/compute/api.py:2938
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2945
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2936
+#: nova/compute/api.py:2964
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/compute/api.py:2996
+#: nova/compute/api.py:3024
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/compute/api.py:3001
+#: nova/compute/api.py:3029
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3009
+#: nova/compute/api.py:3037
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3012
+#: nova/compute/api.py:3040
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3089 nova/compute/api.py:3163
+#: nova/compute/api.py:3117 nova/compute/api.py:3191
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3105
+#: nova/compute/api.py:3133
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3108
+#: nova/compute/api.py:3136
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3117
+#: nova/compute/api.py:3145
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3170
+#: nova/compute/api.py:3198
msgid "Security group id should be integer"
msgstr ""
@@ -4179,689 +4287,692 @@ msgid ""
"requested %(requested)d %(unit)s"
msgstr ""
-#: nova/compute/flavors.py:90
+#: nova/compute/flavors.py:92
msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr ""
-#: nova/compute/flavors.py:99
+#: nova/compute/flavors.py:101
#, python-format
msgid "'%s' argument must be greater than 0"
msgstr ""
-#: nova/compute/flavors.py:108
+#: nova/compute/flavors.py:110
#, python-format
msgid "'%s' argument must be greater than or equal to 0"
msgstr ""
-#: nova/compute/flavors.py:117
+#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
msgstr ""
-#: nova/compute/flavors.py:130
+#: nova/compute/flavors.py:132
msgid "is_public must be a boolean"
msgstr ""
-#: nova/compute/flavors.py:135
+#: nova/compute/flavors.py:137
#, python-format
msgid "DB error: %s"
msgstr ""
-#: nova/compute/flavors.py:145
+#: nova/compute/flavors.py:147
#, python-format
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:205
+#: nova/compute/manager.py:207
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:363
+#: nova/compute/manager.py:379
#, python-format
-msgid "%(nodename)s is not a valid node managed by this compute host."
+msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:392
+#: nova/compute/manager.py:407
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:409
-#, python-format
-msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-msgstr ""
-
-#: nova/compute/manager.py:425
-#, python-format
-msgid ""
-"Instance %(driver_instance)s found in the hypervisor, but not in the "
-"database"
-msgstr ""
-
-#: nova/compute/manager.py:446
+#: nova/compute/manager.py:456
#, 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:461
+#: nova/compute/manager.py:472
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:482
+#: nova/compute/manager.py:493
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:488
+#: nova/compute/manager.py:499
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:541
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:567
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:543
+#: nova/compute/manager.py:570
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:554
+#: nova/compute/manager.py:581
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:559
+#: nova/compute/manager.py:587
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:573
+#: nova/compute/manager.py:601
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:578
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Failed to resume instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:588
+#: nova/compute/manager.py:616
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:592
+#: nova/compute/manager.py:620
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:608
+#: nova/compute/manager.py:636
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:620
+#: nova/compute/manager.py:648
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:658
+#: nova/compute/manager.py:686
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:756
+#: nova/compute/manager.py:784
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:773
+#: nova/compute/manager.py:801
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:873
+#: nova/compute/manager.py:901
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:896
+#: nova/compute/manager.py:924
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:923 nova/compute/manager.py:2377
+#: nova/compute/manager.py:951 nova/compute/manager.py:2466
#, python-format
-msgid "No node specified, defaulting to %(node)s"
+msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:965
+#: nova/compute/manager.py:995
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:971
+#: nova/compute/manager.py:1004
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:999
+#: nova/compute/manager.py:1035
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1016
+#: nova/compute/manager.py:1052
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1041 nova/compute/manager.py:2431
+#: nova/compute/manager.py:1077 nova/compute/manager.py:2519
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1054
+#: nova/compute/manager.py:1090
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1059
+#: nova/compute/manager.py:1095
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1065
+#: nova/compute/manager.py:1101
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1130
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1104
+#: nova/compute/manager.py:1140
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1130
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1175
msgid "Instance failed network setup"
msgstr ""
-#: nova/compute/manager.py:1133
+#: nova/compute/manager.py:1177
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1144
+#: nova/compute/manager.py:1188
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1207
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1214
+#: nova/compute/manager.py:1258
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1285
-#, python-format
-msgid "%(action_str)s instance"
+#: nova/compute/manager.py:1332
+msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1301
-msgid "Failed to deallocate network for instance."
+#: nova/compute/manager.py:1339
+#, python-format
+msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1321
+#: nova/compute/manager.py:1382
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1324
+#: nova/compute/manager.py:1385
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1392
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1378
+#: nova/compute/manager.py:1440
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1431 nova/compute/manager.py:2613
-#: nova/compute/manager.py:4128
+#: nova/compute/manager.py:1502 nova/compute/manager.py:2701
+#: nova/compute/manager.py:4224
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1583
+#: nova/compute/manager.py:1654
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1596
+#: nova/compute/manager.py:1667
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1600
+#: nova/compute/manager.py:1671
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1604
+#: nova/compute/manager.py:1675
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1687
+#: nova/compute/manager.py:1758
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1719
+#: nova/compute/manager.py:1790
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/compute/manager.py:1737
+#: nova/compute/manager.py:1808
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1762
+#: nova/compute/manager.py:1827
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1778
-#, fuzzy, python-format
-msgid "Cannot reboot instance: %(exc)s"
-msgstr "無法掛載Volume 到虛擬機器 %s"
+#: nova/compute/manager.py:1863
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1866
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
-#: nova/compute/manager.py:1791
+#: nova/compute/manager.py:1879
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1818
+#: nova/compute/manager.py:1906
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1824
+#: nova/compute/manager.py:1912
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1885
+#: nova/compute/manager.py:1973
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1892
+#: nova/compute/manager.py:1981
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1897
+#: nova/compute/manager.py:1986
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1925
+#: nova/compute/manager.py:2014
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:1932
+#: nova/compute/manager.py:2021
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:1939
+#: nova/compute/manager.py:2028
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:1954
+#: nova/compute/manager.py:2043
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:1961
+#: nova/compute/manager.py:2050
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:1974
+#: nova/compute/manager.py:2063
#, python-format
msgid ""
-"trying to inject a file into a non-running (state: "
-"%(current_power_state)s expected: %(expected_state)s)"
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:1978
+#: nova/compute/manager.py:2068
#, python-format
-msgid "injecting file to %(path)s"
+msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:1998
+#: nova/compute/manager.py:2088
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2011
+#: nova/compute/manager.py:2101
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2030
+#: nova/compute/manager.py:2120
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:2034
+#: nova/compute/manager.py:2124
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2052
+#: nova/compute/manager.py:2142
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2073
+#: nova/compute/manager.py:2163
#, python-format
-msgid "Changing instance metadata according to %(diff)r"
+msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2296
+#: nova/compute/manager.py:2385
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2330
+#: nova/compute/manager.py:2419
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2336
+#: nova/compute/manager.py:2425
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2358
+#: nova/compute/manager.py:2447
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2610
+#: nova/compute/manager.py:2698
#, python-format
-msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2673
+#: nova/compute/manager.py:2761
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2691
+#: nova/compute/manager.py:2779
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2729
+#: nova/compute/manager.py:2818
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2849
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2780
+#: nova/compute/manager.py:2869
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2785
+#: nova/compute/manager.py:2874
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2788
+#: nova/compute/manager.py:2877
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2805
+#: nova/compute/manager.py:2894
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2832
+#: nova/compute/manager.py:2921
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2867
+#: nova/compute/manager.py:2956
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2914
+#: nova/compute/manager.py:3004
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2964
+#: nova/compute/manager.py:3055
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2973
+#: nova/compute/manager.py:3065
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:2988
+#: nova/compute/manager.py:3081
#, 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:3018
+#: nova/compute/manager.py:3112
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3028
+#: nova/compute/manager.py:3123
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:3035
+#: nova/compute/manager.py:3130
#, 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:3058
+#: nova/compute/manager.py:3154
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3094
+#: nova/compute/manager.py:3190
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3114
+#: nova/compute/manager.py:3210
#, python-format
-msgid "Port %(port_id)s is not attached"
+msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3128
+#: nova/compute/manager.py:3224
#, python-format
-msgid "Host %(host)s not found"
+msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3281
+#: nova/compute/manager.py:3377
#, python-format
-msgid "Pre live migration failed at %(dest)s"
+msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3309
+#: nova/compute/manager.py:3405
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3364
+#: nova/compute/manager.py:3460
#, python-format
-msgid "Migrating instance to %(dest)s finished successfully."
+msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3366
+#: nova/compute/manager.py:3462
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:3381
+#: nova/compute/manager.py:3477
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3413
+#: nova/compute/manager.py:3509
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3542
+#: nova/compute/manager.py:3638
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3592
+#: nova/compute/manager.py:3688
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3598
+#: nova/compute/manager.py:3693
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3607
+#: nova/compute/manager.py:3702
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3614
+#: nova/compute/manager.py:3710
#, python-format
-msgid "Instance %(instance_uuid)s not found"
+msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3618
+#: nova/compute/manager.py:3715
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3625
+#: nova/compute/manager.py:3722
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3634
+#: nova/compute/manager.py:3733
#, python-format
-msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3651
+#: nova/compute/manager.py:3749
#, 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:3670
+#: nova/compute/manager.py:3769
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3694
+#: nova/compute/manager.py:3793
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3798
+#: nova/compute/manager.py:3896
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3813
+#: nova/compute/manager.py:3910
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3840
+#: nova/compute/manager.py:3937
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3845 nova/compute/manager.py:3895
+#: nova/compute/manager.py:3944 nova/compute/manager.py:3993
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3882
+#: nova/compute/manager.py:3980
#, 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:3920
+#: nova/compute/manager.py:4017
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3932 nova/compute/manager.py:3941
-#: nova/compute/manager.py:3971
+#: nova/compute/manager.py:4029 nova/compute/manager.py:4038
+#: nova/compute/manager.py:4068
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:3936
+#: nova/compute/manager.py:4033
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3952
+#: nova/compute/manager.py:4049
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:3958
+#: nova/compute/manager.py:4055
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:3964
+#: nova/compute/manager.py:4061
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:3980
+#: nova/compute/manager.py:4077
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:3988
+#: nova/compute/manager.py:4085
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4000
+#: nova/compute/manager.py:4098
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4027
+#: nova/compute/manager.py:4125
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4037 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4135 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4078
+#: nova/compute/manager.py:4175
#, python-format
msgid ""
-"Detected instance with name label '%(name)s' which is marked as DELETED "
-"but still present on host."
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4085
+#: nova/compute/manager.py:4181
#, python-format
msgid ""
-"Destroying instance with name label '%(name)s' which is marked as DELETED"
-" but still present on host."
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
msgstr ""
-#: nova/compute/manager.py:4092
+#: nova/compute/manager.py:4188
#, python-format
-msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4119
+#: nova/compute/manager.py:4215
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -4961,11 +5072,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:51
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:54
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -4975,18 +5086,18 @@ msgstr ""
msgid "Using %(prefix)s instead of %(req_prefix)s"
msgstr ""
-#: nova/conductor/api.py:386
+#: 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:113
+#: nova/conductor/manager.py:115
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:285
+#: nova/conductor/manager.py:290
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
@@ -5068,11 +5179,11 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1458
+#: nova/db/api.py:1550
msgid "Failed to notify cells of bw_usage update"
msgstr ""
-#: nova/db/api.py:1595
+#: nova/db/api.py:1690
msgid "Failed to notify cells of instance fault"
msgstr ""
@@ -5090,24 +5201,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1413
+#: nova/db/sqlalchemy/api.py:650
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:871
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1156 nova/db/sqlalchemy/api.py:1196
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1333
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1426
#, 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:1548
+#: nova/db/sqlalchemy/api.py:1561
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2907
+#: 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:4418
+#: nova/db/sqlalchemy/api.py:4445
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5124,57 +5255,57 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:73
+#: 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:79
+#: 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:181
+#: nova/db/sqlalchemy/utils.py:210
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:215
+#: nova/db/sqlalchemy/utils.py:244
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:221
+#: nova/db/sqlalchemy/utils.py:250
#, 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:230
+#: nova/db/sqlalchemy/utils.py:259
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:279
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:253
+#: nova/db/sqlalchemy/utils.py:282
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:275 nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
#: 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:287
+#: nova/db/sqlalchemy/utils.py:316
msgid "Unsupported id columns type"
msgstr ""
@@ -5198,47 +5329,52 @@ msgid ""
"%(extra)s."
msgstr ""
-#: nova/image/glance.py:495
+#: nova/image/glance.py:496
#, python-format
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:362
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:372
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:396
+#: 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:403
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:414
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:426
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5363,23 +5499,23 @@ msgstr ""
msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
msgstr ""
-#: nova/network/ldapdns.py:100
+#: nova/network/ldapdns.py:102
#, python-format
msgid ""
"Found multiple matches for domain %(domain)s.\n"
"%(entry)s"
msgstr ""
-#: nova/network/ldapdns.py:127
+#: nova/network/ldapdns.py:129
#, python-format
msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
msgstr ""
-#: nova/network/ldapdns.py:322
+#: nova/network/ldapdns.py:325
msgid "This driver only supports type 'a' entries."
msgstr ""
-#: nova/network/ldapdns.py:365
+#: nova/network/ldapdns.py:368
msgid "This shouldn't be getting called except during testing."
msgstr ""
@@ -5404,109 +5540,109 @@ msgstr ""
msgid "IPTablesManager.apply completed with success"
msgstr ""
-#: nova/network/linux_net.py:680
+#: nova/network/linux_net.py:681
#, python-format
msgid "arping error for ip %s"
msgstr ""
-#: nova/network/linux_net.py:730
+#: 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:778
+#: nova/network/linux_net.py:779
#, python-format
msgid "Error deleting conntrack entries for %s"
msgstr ""
-#: nova/network/linux_net.py:977
+#: nova/network/linux_net.py:980
#, python-format
msgid "Pid %d is stale, skip killing dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1022
+#: nova/network/linux_net.py:1025
#, python-format
msgid "Hupping dnsmasq threw %s"
msgstr ""
-#: nova/network/linux_net.py:1024
+#: nova/network/linux_net.py:1027
#, python-format
msgid "Pid %d is stale, relaunching dnsmasq"
msgstr ""
-#: nova/network/linux_net.py:1104
+#: nova/network/linux_net.py:1107
#, python-format
msgid "killing radvd threw %s"
msgstr ""
-#: nova/network/linux_net.py:1106
+#: nova/network/linux_net.py:1109
#, python-format
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1282
+#: nova/network/linux_net.py:1285
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1288
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1403
+#: nova/network/linux_net.py:1406
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1449
+#: nova/network/linux_net.py:1452
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1461
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1497
+#: nova/network/linux_net.py:1500
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1734
+#: nova/network/linux_net.py:1737
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1742
+#: nova/network/linux_net.py:1745
#, python-format
msgid "Done starting bridge %s"
msgstr ""
-#: nova/network/manager.py:364
+#: nova/network/manager.py:365
#, python-format
msgid "Disassociated %s stale fixed ip(s)"
msgstr ""
-#: nova/network/manager.py:368
+#: nova/network/manager.py:369
msgid "setting network host"
msgstr ""
-#: nova/network/manager.py:480
+#: nova/network/manager.py:481
msgid "network allocations"
msgstr ""
-#: nova/network/manager.py:487
+#: nova/network/manager.py:488
#, python-format
msgid "networks retrieved for instance: |%(networks_list)s|"
msgstr ""
-#: nova/network/manager.py:535
+#: nova/network/manager.py:536
msgid "network deallocation for instance"
msgstr ""
-#: nova/network/manager.py:801
+#: nova/network/manager.py:803
#, python-format
msgid ""
"instance-dns-zone is |%(domain)s|, which is in availability zone "
@@ -5514,98 +5650,98 @@ msgid ""
"created."
msgstr ""
-#: nova/network/manager.py:827
+#: nova/network/manager.py:829
#, python-format
msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
msgstr ""
-#: nova/network/manager.py:879
+#: nova/network/manager.py:881
msgid "Failed to update usages deallocating fixed IP"
msgstr ""
-#: nova/network/manager.py:911
+#: nova/network/manager.py:913
#, python-format
msgid "Unable to release %s because vif doesn't exist."
msgstr ""
-#: nova/network/manager.py:934
+#: nova/network/manager.py:936
#, python-format
msgid "Leased IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:938
+#: nova/network/manager.py:940
#, python-format
msgid "IP %s leased that is not associated"
msgstr ""
-#: nova/network/manager.py:947
+#: nova/network/manager.py:949
#, python-format
msgid "IP |%s| leased that isn't allocated"
msgstr ""
-#: nova/network/manager.py:952
+#: nova/network/manager.py:954
#, python-format
msgid "Released IP |%(address)s|"
msgstr ""
-#: nova/network/manager.py:956
+#: nova/network/manager.py:958
#, python-format
msgid "IP %s released that is not associated"
msgstr ""
-#: nova/network/manager.py:960
+#: nova/network/manager.py:962
#, python-format
msgid "IP %s released that was not leased"
msgstr ""
-#: nova/network/manager.py:979
+#: nova/network/manager.py:981
#, python-format
msgid "%s must be an integer"
msgstr ""
-#: nova/network/manager.py:1003
+#: nova/network/manager.py:1005
msgid "Maximum allowed length for 'label' is 255."
msgstr ""
-#: nova/network/manager.py:1023
+#: 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:1105
+#: nova/network/manager.py:1107
msgid "cidr already in use"
msgstr ""
-#: nova/network/manager.py:1108
+#: nova/network/manager.py:1110
#, python-format
msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
msgstr ""
-#: nova/network/manager.py:1119
+#: nova/network/manager.py:1121
#, python-format
msgid ""
"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
"(%(smaller)s)"
msgstr ""
-#: nova/network/manager.py:1176
+#: nova/network/manager.py:1178
msgid "Network already exists!"
msgstr ""
-#: nova/network/manager.py:1195
+#: nova/network/manager.py:1197
#, python-format
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1795
+#: 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:1802
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5641,78 +5777,79 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:379
+#: nova/network/model.py:382
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 ""
@@ -5734,7 +5871,7 @@ msgstr ""
#: nova/network/security_group/quantum_driver.py:127
#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:262
+#: nova/network/security_group/quantum_driver.py:263
#, python-format
msgid "Quantum Error: %s"
msgstr ""
@@ -5747,45 +5884,45 @@ msgstr ""
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:191
+#: nova/network/security_group/quantum_driver.py:192
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:195
-#: nova/network/security_group/quantum_driver.py:360
-#: nova/network/security_group/quantum_driver.py:366
-#: nova/network/security_group/quantum_driver.py:393
-#: nova/network/security_group/quantum_driver.py:408
-#: nova/network/security_group/quantum_driver.py:414
-#: nova/network/security_group/quantum_driver.py:443
+#: 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
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:248
+#: nova/network/security_group/quantum_driver.py:249
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:259
+#: nova/network/security_group/quantum_driver.py:260
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:376
+#: nova/network/security_group/quantum_driver.py:374
#, 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:386
-#: nova/network/security_group/quantum_driver.py:436
+#: nova/network/security_group/quantum_driver.py:384
+#: nova/network/security_group/quantum_driver.py:434
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:446
+#: nova/network/security_group/quantum_driver.py:444
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5797,21 +5934,21 @@ msgstr ""
msgid "This rule already exists in group %s"
msgstr ""
-#: nova/objects/base.py:52
+#: nova/objects/base.py:54
#, python-format
msgid "Error setting %(attr)s"
msgstr ""
-#: nova/objects/base.py:136
+#: nova/objects/base.py:145
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:190
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:292
+#: nova/objects/base.py:304
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6014,21 +6151,31 @@ 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/db/sqlalchemy/session.py:461
+#: 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:512
+#: 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:584
+#: nova/openstack/common/db/sqlalchemy/session.py:585
#, python-format
msgid "SQL connection failed. %s attempts left."
msgstr ""
@@ -6219,7 +6366,7 @@ msgid "Returning exception %s to caller"
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:169
-#: nova/openstack/common/rpc/impl_qpid.py:133
+#: nova/openstack/common/rpc/impl_qpid.py:153
msgid "Failed to process message... skipping it."
msgstr ""
@@ -6248,44 +6395,44 @@ msgid ""
msgstr ""
#: nova/openstack/common/rpc/impl_kombu.py:609
-#: nova/openstack/common/rpc/impl_qpid.py:404
+#: 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:419
+#: 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:423
+#: 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:458
+#: 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:352
+#: 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:358
+#: 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:371
+#: nova/openstack/common/rpc/impl_qpid.py:418
msgid "Re-established AMQP queues"
msgstr ""
-#: nova/openstack/common/rpc/impl_qpid.py:431
+#: nova/openstack/common/rpc/impl_qpid.py:484
msgid "Error processing message. Skipping it."
msgstr ""
@@ -6511,7 +6658,7 @@ msgstr ""
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:222
+#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
#, python-format
msgid "Setting instance to %(state)s state."
msgstr ""
@@ -6629,7 +6776,7 @@ msgstr ""
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:208
+#: nova/scheduler/manager.py:211
#, python-format
msgid "Failed to schedule_%(method)s: %(ex)s"
msgstr ""
@@ -6650,10 +6797,17 @@ msgid "Group affinity: %(host)s in %(configured)s"
msgstr ""
#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
-#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
-#: nova/scheduler/filters/compute_capabilities_filter.py:57
#, python-format
-msgid "%(host_state)s fails instance_type extra_specs requirements"
+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
@@ -6661,6 +6815,11 @@ msgstr ""
msgid "%(host_state)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"
@@ -6851,12 +7010,12 @@ msgstr ""
msgid "Multipath call failed exit (%(code)s)"
msgstr ""
-#: nova/storage/linuxscsi.py:119
+#: nova/storage/linuxscsi.py:122
#, python-format
msgid "Couldn't find multipath device %(line)s"
msgstr ""
-#: nova/storage/linuxscsi.py:123
+#: nova/storage/linuxscsi.py:126
#, python-format
msgid "Found multipath device = %(mdev)s"
msgstr ""
@@ -6901,13 +7060,6 @@ msgstr ""
msgid "already detached"
msgstr ""
-#: nova/tests/test_misc.py:59
-#, python-format
-msgid ""
-"The following migrations are missing a downgrade:\n"
-"\t%s"
-msgstr ""
-
#: nova/tests/api/test_auth.py:79
msgid "200 Role Match"
msgstr ""
@@ -6920,64 +7072,71 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3444
+#: nova/tests/api/openstack/compute/test_servers.py:3531
#: 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:3449
+#: nova/tests/api/openstack/compute/test_servers.py:3536
#: 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:3454
+#: nova/tests/api/openstack/compute/test_servers.py:3541
#: 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:1077
-#: nova/tests/compute/test_compute.py:1095
-#: nova/tests/compute/test_compute.py:1146
-#: nova/tests/compute/test_compute.py:1173
-#: nova/tests/compute/test_compute.py:1219
-#: nova/tests/compute/test_compute.py:3980
+#: 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:4124
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1083
-#: nova/tests/compute/test_compute.py:1118
-#: nova/tests/compute/test_compute.py:1161
-#: nova/tests/compute/test_compute.py:1191
+#: 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
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1701
+#: nova/tests/compute/test_compute.py:1814
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:3991
+#: nova/tests/compute/test_compute.py:4135
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4491
+#: nova/tests/compute/test_compute.py:4635
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9153
+#: nova/tests/compute/test_compute.py:9437
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:178
+#: nova/tests/db/test_migrations.py:1801
+#, 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:192
+#: nova/tests/integrated/test_api_samples.py:197
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6987,22 +7146,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:203
+#: 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:222
+#: nova/tests/integrated/test_api_samples.py:227
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:226
+#: 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:247
-#: nova/tests/integrated/test_api_samples.py:262
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
#, python-format
msgid ""
"Values do not match:\n"
@@ -7068,28 +7227,36 @@ msgstr ""
msgid "fake vswitch not found"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:892
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
msgid "Please extend mock libvirt module to support flags"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:896
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
msgid "Expected a list for 'auth' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:900
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
msgid "Expected a function in 'auth[0]' parameter"
msgstr ""
-#: nova/tests/virt/libvirt/fakelibvirt.py:904
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:898
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2183
+#, 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
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:909
+#: nova/tests/virt/xenapi/test_xenapi.py:910
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7099,25 +7266,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:942
+#: nova/virt/driver.py:948
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:954
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:970
+#: nova/virt/driver.py:976
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:973
+#: nova/virt/driver.py:979
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:980
+#: nova/virt/driver.py:986
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7126,42 +7293,42 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
-#: nova/virt/firewall.py:195
+#: nova/virt/firewall.py:200
msgid "Filters added to instance"
msgstr ""
-#: nova/virt/firewall.py:197
+#: nova/virt/firewall.py:202
msgid "Provider Firewall Rules refreshed"
msgstr ""
-#: nova/virt/firewall.py:377
+#: nova/virt/firewall.py:383
#, python-format
msgid "Adding security group rule: %r"
msgstr ""
-#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
#, python-format
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 ""
@@ -7275,22 +7442,22 @@ msgid ""
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:179
+#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
#, 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:210
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
#, 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:365
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
@@ -7310,7 +7477,7 @@ msgstr ""
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:390
+#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
@@ -7320,28 +7487,28 @@ msgstr ""
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:154
+#: nova/virt/baremetal/tilera.py:145
#, 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:371
+#: nova/virt/baremetal/tilera.py:362
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/tilera.py:377
+#: nova/virt/baremetal/tilera.py:368
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/tilera.py:385
+#: nova/virt/baremetal/tilera.py:376
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:388
+#: nova/virt/baremetal/tilera.py:379
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7426,15 +7593,15 @@ 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 ""
@@ -7916,16 +8083,16 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3845
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3943
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
-#: nova/virt/hyperv/hostops.py:159
+#: nova/virt/hyperv/hostops.py:161
msgid "get_host_stats called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:174
+#: nova/virt/hyperv/hostops.py:176
#, python-format
msgid "Host IP address is: %s"
msgstr ""
@@ -8268,12 +8435,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1874
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1924
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1881
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1931
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8432,7 +8599,7 @@ msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
msgid "Detaching physical disk from instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:903
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:956
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8451,251 +8618,257 @@ msgstr ""
msgid "An error has occurred when calling the iscsi initiator: %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:127
+#: nova/virt/libvirt/blockinfo.py:129
#, python-format
msgid "Unable to determine disk prefix for %s"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:174
+#: nova/virt/libvirt/blockinfo.py:177
#, python-format
msgid "No free disk device names for prefix '%s'"
msgstr ""
-#: nova/virt/libvirt/blockinfo.py:264
+#: nova/virt/libvirt/blockinfo.py:269
#, python-format
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:346
+#: 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:552
+#: nova/virt/libvirt/driver.py:564
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:560
+#: nova/virt/libvirt/driver.py:578
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:577
+#: nova/virt/libvirt/driver.py:596
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:593
+#: nova/virt/libvirt/driver.py:606
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:616
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:629
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:636
+#: nova/virt/libvirt/driver.py:672
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "連接到glance失敗"
-#: nova/virt/libvirt/driver.py:728
+#: nova/virt/libvirt/driver.py:781
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:743
+#: nova/virt/libvirt/driver.py:796
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:748
+#: nova/virt/libvirt/driver.py:801
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:758
+#: nova/virt/libvirt/driver.py:811
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:768
+#: nova/virt/libvirt/driver.py:821
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:787
+#: nova/virt/libvirt/driver.py:840
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:876
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:829
+#: nova/virt/libvirt/driver.py:882
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:857
+#: nova/virt/libvirt/driver.py:910
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:866
+#: nova/virt/libvirt/driver.py:919
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:909
+#: nova/virt/libvirt/driver.py:962
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:916
+#: nova/virt/libvirt/driver.py:969
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:921
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1043
+#: nova/virt/libvirt/driver.py:1093
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1067
+#: nova/virt/libvirt/driver.py:1117
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1087
+#: nova/virt/libvirt/driver.py:1137
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1091
+#: nova/virt/libvirt/driver.py:1141
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1227
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1180
+#: nova/virt/libvirt/driver.py:1230
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1209
+#: nova/virt/libvirt/driver.py:1259
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1221
+#: nova/virt/libvirt/driver.py:1271
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1294
+#: nova/virt/libvirt/driver.py:1344
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1298
+#: nova/virt/libvirt/driver.py:1348
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1383
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1341
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1389
+#: nova/virt/libvirt/driver.py:1439
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1535
+#: nova/virt/libvirt/driver.py:1585
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1542 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1592 nova/virt/powervm/operator.py:220
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1558
+#: nova/virt/libvirt/driver.py:1608
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1595 nova/virt/libvirt/driver.py:1621
+#: nova/virt/libvirt/driver.py:1645 nova/virt/libvirt/driver.py:1671
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1610
+#: nova/virt/libvirt/driver.py:1660 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "使用者並沒有管ç†è€…權力"
-#: nova/virt/libvirt/driver.py:1679
+#: nova/virt/libvirt/driver.py:1729
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1683
+#: nova/virt/libvirt/driver.py:1733
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1688 nova/virt/libvirt/driver.py:1693
+#: nova/virt/libvirt/driver.py:1738 nova/virt/libvirt/driver.py:1743
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1764
+#: nova/virt/libvirt/driver.py:1814
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1865
+#: nova/virt/libvirt/driver.py:1915
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1914
+#: nova/virt/libvirt/driver.py:1964
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1924
+#: nova/virt/libvirt/driver.py:1974
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1981
+#: nova/virt/libvirt/driver.py:2033
#, 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:1987
+#: nova/virt/libvirt/driver.py:2039
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1991
+#: nova/virt/libvirt/driver.py:2043
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1995
+#: nova/virt/libvirt/driver.py:2047
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2011
+#: nova/virt/libvirt/driver.py:2063
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2335
+#: nova/virt/libvirt/driver.py:2387
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8703,73 +8876,76 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2350
+#: nova/virt/libvirt/driver.py:2402
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2367
+#: nova/virt/libvirt/driver.py:2419
+#, 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:2440
#, 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:2546 nova/virt/libvirt/driver.py:2550
+#: nova/virt/libvirt/driver.py:2540 nova/virt/libvirt/driver.py:2731
+#: nova/virt/libvirt/driver.py:2757
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2622 nova/virt/libvirt/driver.py:2626
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2559
+#: nova/virt/libvirt/driver.py:2635
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2566
+#: nova/virt/libvirt/driver.py:2642
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2571
+#: nova/virt/libvirt/driver.py:2647
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2664
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2598
+#: nova/virt/libvirt/driver.py:2674
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2650
+#: nova/virt/libvirt/driver.py:2726
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2656
-#, python-format
-msgid "List of domains returned by libVirt: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2658
-#, python-format
-msgid "libVirt can't find a domain with id: %s"
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:2722
+#: nova/virt/libvirt/driver.py:2798
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2806
+#: nova/virt/libvirt/driver.py:2883
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/virt/libvirt/driver.py:2819
+#: nova/virt/libvirt/driver.py:2896
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8777,50 +8953,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2837
+#: nova/virt/libvirt/driver.py:2914
#, 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:2842
+#: nova/virt/libvirt/driver.py:2919
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2919
+#: nova/virt/libvirt/driver.py:2996
#, 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:3001
+#: nova/virt/libvirt/driver.py:3077
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3009
+#: nova/virt/libvirt/driver.py:3085
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3046
+#: nova/virt/libvirt/driver.py:3130
#, 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:3071
+#: nova/virt/libvirt/driver.py:3155
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3083
+#: nova/virt/libvirt/driver.py:3167
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8830,67 +9006,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3100
+#: nova/virt/libvirt/driver.py:3184
#, 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:3148
+#: nova/virt/libvirt/driver.py:3234
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3220
+#: nova/virt/libvirt/driver.py:3306
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3313
+#: nova/virt/libvirt/driver.py:3408
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3425
+#: nova/virt/libvirt/driver.py:3520
#, 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:3442
+#: nova/virt/libvirt/driver.py:3537
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3447
+#: nova/virt/libvirt/driver.py:3542
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3488
+#: nova/virt/libvirt/driver.py:3583
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3557
+#: nova/virt/libvirt/driver.py:3653
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3625
+#: nova/virt/libvirt/driver.py:3721
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3631
+#: nova/virt/libvirt/driver.py:3727
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3695
+#: nova/virt/libvirt/driver.py:3792
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3818
+#: nova/virt/libvirt/driver.py:3915
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8901,33 +9077,33 @@ msgid ""
"correctly."
msgstr ""
-#: nova/virt/libvirt/firewall.py:107
+#: nova/virt/libvirt/firewall.py:108
msgid "Called setup_basic_filtering in nwfilter"
msgstr ""
-#: nova/virt/libvirt/firewall.py:115
+#: nova/virt/libvirt/firewall.py:116
msgid "Ensuring static filters"
msgstr ""
-#: nova/virt/libvirt/firewall.py:247
+#: nova/virt/libvirt/firewall.py:248
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:270
+#: nova/virt/libvirt/firewall.py:271
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:286
+#: nova/virt/libvirt/firewall.py:287
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:294
+#: 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:378
+#: nova/virt/libvirt/imagebackend.py:403
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9073,22 +9249,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. "
@@ -9096,17 +9272,17 @@ 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:566
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
@@ -9143,14 +9319,14 @@ msgstr ""
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:501
+#: nova/virt/libvirt/vif.py:502
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:527
+#: nova/virt/libvirt/vif.py:529
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9158,7 +9334,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:555
+#: nova/virt/libvirt/vif.py:558
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9166,7 +9342,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:583
+#: nova/virt/libvirt/vif.py:587
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9174,7 +9350,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:609
+#: nova/virt/libvirt/vif.py:614
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9182,87 +9358,87 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/volume.py:238
+#: nova/virt/libvirt/volume.py:240
#, python-format
msgid "iSCSI device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:241
+#: 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:254
+#: 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:512 nova/virt/libvirt/volume.py:633
+#: 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:560
+#: nova/virt/libvirt/volume.py:562
#, python-format
msgid "AoE device not found at %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:562
+#: 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:577
+#: nova/virt/libvirt/volume.py:579
#, python-format
msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
msgstr ""
-#: nova/virt/libvirt/volume.py:704
+#: nova/virt/libvirt/volume.py:706
msgid "We are unable to locate any Fibre Channel devices"
msgstr ""
-#: nova/virt/libvirt/volume.py:713
+#: nova/virt/libvirt/volume.py:715
#, python-format
msgid "Looking for Fibre Channel dev %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:723
+#: nova/virt/libvirt/volume.py:725
msgid "Fibre Channel device not found."
msgstr ""
-#: nova/virt/libvirt/volume.py:726
+#: 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:743
+#: 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:752
+#: nova/virt/libvirt/volume.py:754
#, python-format
msgid "Multipath device discovered %(device)s"
msgstr ""
-#: nova/virt/libvirt/volume.py:818
+#: nova/virt/libvirt/volume.py:831
msgid "Value required for 'scality_sofs_config'"
msgstr ""
-#: nova/virt/libvirt/volume.py:829
+#: nova/virt/libvirt/volume.py:842
#, python-format
msgid "Cannot access 'scality_sofs_config': %s"
msgstr ""
-#: nova/virt/libvirt/volume.py:835
+#: nova/virt/libvirt/volume.py:848
msgid "Cannot execute /sbin/mount.sofs"
msgstr ""
-#: nova/virt/libvirt/volume.py:850
+#: nova/virt/libvirt/volume.py:863
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
@@ -9368,26 +9544,26 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "連接到glance失敗"
-#: nova/virt/powervm/driver.py:124
+#: nova/virt/powervm/driver.py:125
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:127
+#: nova/virt/powervm/driver.py:128
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:129
+#: nova/virt/powervm/driver.py:130
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
-#: nova/virt/powervm/driver.py:174
+#: nova/virt/powervm/driver.py:171
#, python-format
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:306
+#: nova/virt/powervm/driver.py:303
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9534,32 +9710,32 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:355
+#: nova/virt/vmwareapi/driver.py:349
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:457
+#: nova/virt/vmwareapi/driver.py:451
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:540
+#: nova/virt/vmwareapi/driver.py:534
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:576
+#: nova/virt/vmwareapi/driver.py:570
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:581
+#: nova/virt/vmwareapi/driver.py:575
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:585
+#: nova/virt/vmwareapi/driver.py:579
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9569,39 +9745,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:45 nova/virt/xenapi/fake.py:77
+#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:132
+#: nova/virt/vmwareapi/fake.py:133
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:492
+#: nova/virt/vmwareapi/fake.py:494
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:557
+#: nova/virt/vmwareapi/fake.py:559
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:572
+#: nova/virt/vmwareapi/fake.py:574
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:575
+#: nova/virt/vmwareapi/fake.py:577
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:666
+#: nova/virt/vmwareapi/fake.py:670
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9610,38 +9786,38 @@ msgstr ""
msgid "%(action)s %(host)s"
msgstr ""
-#: nova/virt/vmwareapi/host.py:63
+#: 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:112
+#: nova/virt/vmwareapi/io_util.py:118
#, python-format
msgid "Glance image %s is in killed state"
msgstr ""
-#: nova/virt/vmwareapi/io_util.py:120
+#: 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:138
+#: 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:164
+#: 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:178
+#: 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:142
+#: nova/virt/vmwareapi/read_write_util.py:145
#, python-format
msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
msgstr ""
@@ -9684,57 +9860,57 @@ msgstr ""
msgid "Got total of %s instances"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:198
+#: nova/virt/vmwareapi/vmops.py:199
msgid "Creating VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:206
+#: nova/virt/vmwareapi/vmops.py:207
msgid "Created VM on the ESX host"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:230
+#: 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:249
+#: 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:258
+#: 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:272
+#: 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:280
+#: 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:300
+#: 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:314
+#: nova/virt/vmwareapi/vmops.py:315
#, python-format
msgid ""
"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
@@ -9742,311 +9918,310 @@ msgid ""
" type %(disk_type)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:335
+#: 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:414
+#: nova/virt/vmwareapi/vmops.py:415
msgid "Powering on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:420
+#: nova/virt/vmwareapi/vmops.py:421
msgid "Powered on the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:466
+#: nova/virt/vmwareapi/vmops.py:464
msgid "Creating Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:476
+#: nova/virt/vmwareapi/vmops.py:474
msgid "Created Snapshot of the VM instance"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:521
+#: nova/virt/vmwareapi/vmops.py:519
msgid "Copying disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:534
+#: nova/virt/vmwareapi/vmops.py:532
msgid "Copied disk data before snapshot of the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:543
+#: nova/virt/vmwareapi/vmops.py:541
#, python-format
msgid "Uploading image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:557
+#: nova/virt/vmwareapi/vmops.py:555
#, python-format
msgid "Uploaded image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:570
+#: nova/virt/vmwareapi/vmops.py:568
#, python-format
msgid "Deleting temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:579
+#: nova/virt/vmwareapi/vmops.py:577
#, python-format
msgid "Deleted temporary vmdk file %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:611
+#: nova/virt/vmwareapi/vmops.py:606
msgid "instance is not powered on"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:618
+#: nova/virt/vmwareapi/vmops.py:613
msgid "Rebooting guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:621
+#: nova/virt/vmwareapi/vmops.py:616
msgid "Rebooted guest OS of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:623
+#: nova/virt/vmwareapi/vmops.py:618
msgid "Doing hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:627
+#: nova/virt/vmwareapi/vmops.py:622
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:671
-#: nova/virt/vmwareapi/vmops.py:964
-msgid "instance not present"
-msgstr ""
-
-#: nova/virt/vmwareapi/vmops.py:645 nova/virt/vmwareapi/vmops.py:968
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
msgid "Destroyed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:652
+#: 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:690 nova/virt/vmwareapi/vmops.py:843
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
msgid "Powering off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
msgid "Powered off the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:699
+#: nova/virt/vmwareapi/vmops.py:684
msgid "Unregistering the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:702
+#: nova/virt/vmwareapi/vmops.py:687
msgid "Unregistered the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:704
+#: 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:717
+#: 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:729
+#: 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:734
+#: 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:742
+#: nova/virt/vmwareapi/vmops.py:727
msgid "pause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:746
+#: nova/virt/vmwareapi/vmops.py:731
msgid "unpause not supported for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:760
+#: nova/virt/vmwareapi/vmops.py:742
msgid "Suspending the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:764
+#: nova/virt/vmwareapi/vmops.py:746
msgid "Suspended the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:767
+#: nova/virt/vmwareapi/vmops.py:749
msgid "instance is powered off and cannot be suspended."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:770
+#: nova/virt/vmwareapi/vmops.py:752
msgid "VM was already in suspended state. So returning without doing anything"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:783
+#: nova/virt/vmwareapi/vmops.py:762
msgid "Resuming the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:788
+#: nova/virt/vmwareapi/vmops.py:767
msgid "Resumed the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:790
+#: nova/virt/vmwareapi/vmops.py:769
msgid "instance is not in a suspended state"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:851
+#: nova/virt/vmwareapi/vmops.py:829
msgid "instance is suspended and cannot be powered off."
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:854
+#: 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:867
+#: 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:871
+#: nova/virt/vmwareapi/vmops.py:847
msgid "Powering on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:876
+#: nova/virt/vmwareapi/vmops.py:852
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:893
+#: nova/virt/vmwareapi/vmops.py:869
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:924
+#: nova/virt/vmwareapi/vmops.py:898
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:930
+#: nova/virt/vmwareapi/vmops.py:904
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:945
+#: nova/virt/vmwareapi/vmops.py:919
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:953
+#: nova/virt/vmwareapi/vmops.py:927
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:975
+#: nova/virt/vmwareapi/vmops.py:940
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:951
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:990
+#: nova/virt/vmwareapi/vmops.py:966
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:996
+#: nova/virt/vmwareapi/vmops.py:972
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/virt/vmwareapi/vmops.py:1022
+#: nova/virt/vmwareapi/vmops.py:997
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1034
+#: nova/virt/vmwareapi/vmops.py:1009
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1044 nova/virt/xenapi/vmops.py:1381
+#: nova/virt/vmwareapi/vmops.py:1019 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:1048
+#: nova/virt/vmwareapi/vmops.py:1023
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1084
+#: nova/virt/vmwareapi/vmops.py:1057
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1166
+#: nova/virt/vmwareapi/vmops.py:1134
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1172
+#: nova/virt/vmwareapi/vmops.py:1140
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1186
+#: nova/virt/vmwareapi/vmops.py:1152
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1193
+#: nova/virt/vmwareapi/vmops.py:1159
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1286
+#: nova/virt/vmwareapi/vmops.py:1252
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1292
+#: nova/virt/vmwareapi/vmops.py:1258
#, python-format
msgid "Created directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:91
+#: nova/virt/vmwareapi/vmware_images.py:92
#, python-format
msgid "Downloading image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:107
+#: nova/virt/vmwareapi/vmware_images.py:108
#, python-format
msgid "Downloaded image %s from glance image server"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:113
+#: 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:139
+#: 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:150
+#: nova/virt/vmwareapi/vmware_images.py:151
#, python-format
msgid "Getting image size for the image %s"
msgstr ""
-#: nova/virt/vmwareapi/vmware_images.py:155
+#: nova/virt/vmwareapi/vmware_images.py:156
#, python-format
msgid "Got image size of %(size)s for the image %(image)s"
msgstr ""
@@ -10109,7 +10284,7 @@ msgstr ""
msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
msgstr ""
-#: nova/virt/vmwareapi/volumeops.py:127 nova/virt/xenapi/volumeops.py:47
+#: nova/virt/vmwareapi/volumeops.py:127
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
msgstr ""
@@ -10119,12 +10294,12 @@ msgstr ""
msgid "Unable to find iSCSI Target"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:57
+#: 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 "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:128
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
#, python-format
msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
@@ -10134,116 +10309,111 @@ msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
msgid "Unable to find volume"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:147
+#: 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 "掛載點 %(mountpoint)s 從虛擬機器 %(instance_name)s å¸è¼‰"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1623
+#: nova/virt/xenapi/agent.py:101 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:105 nova/virt/xenapi/vmops.py:1627
+#: nova/virt/xenapi/agent.py:106 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:110 nova/virt/xenapi/vmops.py:1632
+#: nova/virt/xenapi/agent.py:111 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:120
+#: nova/virt/xenapi/agent.py:123
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
-"path=%(path)s; args=%(args)r"
+"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:130
+#: nova/virt/xenapi/agent.py:134
#, python-format
-msgid "Failed to query agent version: %(resp)r"
+msgid "Failed to query agent version: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:149
+#: nova/virt/xenapi/agent.py:153
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:163
+#: nova/virt/xenapi/agent.py:167
msgid "Reached maximum time attempting to query agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:171
+#: nova/virt/xenapi/agent.py:175
#, python-format
msgid "Updating agent to %s"
msgstr ""
-#: nova/virt/xenapi/agent.py:179
+#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %(resp)r"
+msgid "Failed to update agent: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:193
+#: nova/virt/xenapi/agent.py:197
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:204
+#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
#, python-format
-msgid "Failed to exchange keys: %(resp)r"
+msgid "Failed to exchange keys: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:224
-#, python-format
-msgid "Failed to update password: %(resp)r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:245
+#: nova/virt/xenapi/agent.py:249
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:260
+#: nova/virt/xenapi/agent.py:264
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:273
+#: nova/virt/xenapi/agent.py:277
#, python-format
-msgid "Failed to inject file: %(resp)r"
+msgid "Failed to inject file: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:280
+#: nova/virt/xenapi/agent.py:284
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:286
+#: nova/virt/xenapi/agent.py:290
#, python-format
-msgid "Failed to reset network: %(resp)r"
+msgid "Failed to reset network: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:309
+#: nova/virt/xenapi/agent.py:313
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:317
+#: nova/virt/xenapi/agent.py:321
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:325
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:335
+#: nova/virt/xenapi/agent.py:339
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:388
+#: nova/virt/xenapi/agent.py:392
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10259,75 +10429,75 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:346
+#: nova/virt/xenapi/driver.py:348
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:562
+#: nova/virt/xenapi/driver.py:571
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:622
+#: nova/virt/xenapi/driver.py:632
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:662
+#: nova/virt/xenapi/driver.py:672
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:746 nova/virt/xenapi/driver.py:760
+#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:687 nova/virt/xenapi/fake.py:791
-#: nova/virt/xenapi/fake.py:810 nova/virt/xenapi/fake.py:878
+#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
+#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:689
+#: nova/virt/xenapi/fake.py:707
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:723
+#: nova/virt/xenapi/fake.py:740
#, python-format
-msgid "Calling %(localname)s %(impl)s"
+msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:728
+#: nova/virt/xenapi/fake.py:746
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:731
+#: nova/virt/xenapi/fake.py:749
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:793
+#: nova/virt/xenapi/fake.py:811
#, 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:68
+#: 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:80
+#: 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)sfrom %(host)s"
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
msgstr ""
#: nova/virt/xenapi/host.py:185
@@ -10359,7 +10529,7 @@ msgstr ""
msgid "Found no network for bridge %s"
msgstr ""
-#: nova/virt/xenapi/pool.py:71
+#: nova/virt/xenapi/pool.py:70
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
@@ -10368,37 +10538,37 @@ msgstr ""
#: nova/virt/xenapi/pool.py:158
#, python-format
-msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgid "Unable to eject %s from the pool; pool not empty"
msgstr ""
#: nova/virt/xenapi/pool.py:175
#, python-format
-msgid "Unable to eject %(host)s from the pool; No master found"
+msgid "Unable to eject %s from the pool; No master found"
msgstr ""
#: nova/virt/xenapi/pool.py:192
#, python-format
-msgid "Pool-Join failed: %(e)s"
+msgid "Pool-Join failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:195
#, python-format
-msgid "Unable to join %(host)s in the pool"
+msgid "Unable to join %s in the pool"
msgstr ""
#: nova/virt/xenapi/pool.py:211
#, python-format
-msgid "Pool-eject failed: %(e)s"
+msgid "Pool-eject failed: %s"
msgstr ""
#: nova/virt/xenapi/pool.py:223
-#, fuzzy, python-format
-msgid "Unable to set up pool: %(e)s."
-msgstr "無法å¸è¼‰ Volume %s"
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
#: nova/virt/xenapi/pool.py:234
#, python-format
-msgid "Pool-set_name_label failed: %(e)s"
+msgid "Pool-set_name_label failed: %s"
msgstr ""
#: nova/virt/xenapi/vif.py:101
@@ -10409,371 +10579,385 @@ msgstr ""
#: nova/virt/xenapi/vif.py:120
#, python-format
msgid ""
-"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"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:273
+#: nova/virt/xenapi/vm_utils.py:275
msgid "Created VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:285
+#: nova/virt/xenapi/vm_utils.py:287
msgid "VM destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:290 nova/virt/xenapi/vm_utils.py:305
+#: 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:294
+#: nova/virt/xenapi/vm_utils.py:296
msgid "Shutting down VM (cleanly)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:309
+#: nova/virt/xenapi/vm_utils.py:311
msgid "Shutting down VM (hard)"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:347
+#: nova/virt/xenapi/vm_utils.py:349
#, python-format
msgid "VBD not found in instance %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:364
+#: nova/virt/xenapi/vm_utils.py:366
#, python-format
msgid "VBD %s already detached"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:367
+#: 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:372
+#: nova/virt/xenapi/vm_utils.py:376
#, python-format
msgid "Unable to unplug VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:377
+#: 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:388
+#: nova/virt/xenapi/vm_utils.py:392
#, python-format
msgid "Unable to destroy VBD %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:410
+#: 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:413
+#: 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:439
+#: nova/virt/xenapi/vm_utils.py:445
#, python-format
msgid "Unable to destroy VDI %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:466
+#: 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:480
+#: nova/virt/xenapi/vm_utils.py:488
msgid "SR not present and could not be introduced"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:505
+#: nova/virt/xenapi/vm_utils.py:513
#, python-format
msgid "block device info: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:591
+#: 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:636
+#: nova/virt/xenapi/vm_utils.py:645
#, python-format
-msgid "No primary VDI found for %(vm_ref)s"
+msgid "No primary VDI found for %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:649
+#: nova/virt/xenapi/vm_utils.py:657
msgid "Starting snapshot for VM"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:699
+#: nova/virt/xenapi/vm_utils.py:707
#, python-format
msgid "Destroying cached VDI '%(vdi_uuid)s'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:952
+#: 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 %(sr_type)s. Ignoring the cow flag."
+"this system was found to be of type %s. Ignoring the cow flag."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1008
+#: 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:1042
+#: 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:1054
+#: 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:1067
+#: nova/virt/xenapi/vm_utils.py:1089
#, python-format
msgid "download_vhd failed: %r"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1102
+#: nova/virt/xenapi/vm_utils.py:1124
#, python-format
msgid "Invalid value '%s' for xenapi_torrent_images"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1113
+#: nova/virt/xenapi/vm_utils.py:1135
#, python-format
-msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1188
+#: nova/virt/xenapi/vm_utils.py:1210
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1204
+#: nova/virt/xenapi/vm_utils.py:1228
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1252
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1241
+#: nova/virt/xenapi/vm_utils.py:1266
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1250
+#: nova/virt/xenapi/vm_utils.py:1276
#, 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:1269
+#: nova/virt/xenapi/vm_utils.py:1296
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1283
+#: nova/virt/xenapi/vm_utils.py:1310
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1292
+#: nova/virt/xenapi/vm_utils.py:1319
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1333
+#: nova/virt/xenapi/vm_utils.py:1360
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1364
+#: nova/virt/xenapi/vm_utils.py:1391
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1382
+#: nova/virt/xenapi/vm_utils.py:1409
#, 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:1388
+#: nova/virt/xenapi/vm_utils.py:1415
#, python-format
-msgid "Unknown image format %(disk_image_type)s"
+msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1419
+#: nova/virt/xenapi/vm_utils.py:1446
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1522
+#: nova/virt/xenapi/vm_utils.py:1549
#, python-format
-msgid "Unable to parse rrd of %(vm_uuid)s"
+msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1577
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1605
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1595
+#: nova/virt/xenapi/vm_utils.py:1623
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:1608
+#: nova/virt/xenapi/vm_utils.py:1636
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1616
+#: nova/virt/xenapi/vm_utils.py:1644
#, python-format
-msgid "ISO: looking at SR %(sr_rec)s"
+msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1618
+#: nova/virt/xenapi/vm_utils.py:1646
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1621
+#: nova/virt/xenapi/vm_utils.py:1649
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1624
+#: nova/virt/xenapi/vm_utils.py:1652
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1628
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1630
+#: nova/virt/xenapi/vm_utils.py:1658
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1633
+#: nova/virt/xenapi/vm_utils.py:1661
#, python-format
-msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1664
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1639
+#: nova/virt/xenapi/vm_utils.py:1667
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1689
#, 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:1677
+#: nova/virt/xenapi/vm_utils.py:1706
#, python-format
-msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1731
+#: nova/virt/xenapi/vm_utils.py:1760
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1791
+#: nova/virt/xenapi/vm_utils.py:1820
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1878
+#: nova/virt/xenapi/vm_utils.py:1908
#, 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:1888
+#: nova/virt/xenapi/vm_utils.py:1920
#, python-format
-msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1923
+#: nova/virt/xenapi/vm_utils.py:1955
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1943
+#: nova/virt/xenapi/vm_utils.py:1975
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1956
+#: nova/virt/xenapi/vm_utils.py:1988
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1959
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1961
+#: nova/virt/xenapi/vm_utils.py:1993
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1964
+#: nova/virt/xenapi/vm_utils.py:1997
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1969
+#: nova/virt/xenapi/vm_utils.py:2003
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1977
+#: nova/virt/xenapi/vm_utils.py:2011
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2004
+#: nova/virt/xenapi/vm_utils.py:2038
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2012
+#: nova/virt/xenapi/vm_utils.py:2046
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2014
+#: nova/virt/xenapi/vm_utils.py:2048
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2016
+#: nova/virt/xenapi/vm_utils.py:2050
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10781,283 +10965,276 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2033
+#: nova/virt/xenapi/vm_utils.py:2067
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2039
+#: nova/virt/xenapi/vm_utils.py:2073
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2064
+#: nova/virt/xenapi/vm_utils.py:2099
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2077
+#: nova/virt/xenapi/vm_utils.py:2114
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2118
+#: nova/virt/xenapi/vm_utils.py:2155
#, 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:2149
+#: nova/virt/xenapi/vm_utils.py:2198
#, 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:2182
+#: nova/virt/xenapi/vm_utils.py:2234
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2287
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2243
+#: nova/virt/xenapi/vm_utils.py:2296
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2355
+#: nova/virt/xenapi/vm_utils.py:2409
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
-#: nova/virt/xenapi/vmops.py:139 nova/virt/xenapi/vmops.py:808
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
#, python-format
-msgid "Updating progress to %(progress)d"
+msgid "Updating progress to %d"
msgstr ""
-#: nova/virt/xenapi/vmops.py:174
+#: nova/virt/xenapi/vmops.py:175
#, python-format
msgid "Importing image upload handler: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:189
+#: nova/virt/xenapi/vmops.py:190
msgid "Error: Agent is disabled"
msgstr ""
-#: nova/virt/xenapi/vmops.py:308
+#: nova/virt/xenapi/vmops.py:309
msgid "Starting instance"
msgstr ""
-#: nova/virt/xenapi/vmops.py:394
+#: nova/virt/xenapi/vmops.py:395
msgid "Removing kernel/ramdisk files from dom0"
msgstr ""
-#: nova/virt/xenapi/vmops.py:467
+#: nova/virt/xenapi/vmops.py:468
#, python-format
msgid "Block device information present: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:498
+#: nova/virt/xenapi/vmops.py:499
msgid "Failed to spawn, rolling back"
msgstr ""
-#: nova/virt/xenapi/vmops.py:597
+#: nova/virt/xenapi/vmops.py:594
msgid "Auto configuring disk, attempting to resize partition..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:643
+#: nova/virt/xenapi/vmops.py:640
msgid "Starting VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:649
+#: nova/virt/xenapi/vmops.py:646
msgid "Waiting for instance state to become running"
msgstr ""
-#: nova/virt/xenapi/vmops.py:663
+#: 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:666
+#: 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:677
+#: nova/virt/xenapi/vmops.py:674
#, python-format
msgid "Instance agent version: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:708
+#: nova/virt/xenapi/vmops.py:705
msgid "Setting VCPU weight"
msgstr ""
-#: nova/virt/xenapi/vmops.py:719
+#: nova/virt/xenapi/vmops.py:716
#, python-format
msgid "Could not find VM with name %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:777
+#: nova/virt/xenapi/vmops.py:774
msgid "Finished snapshot and upload for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:781
+#: 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:789
+#: nova/virt/xenapi/vmops.py:787
msgid "Failed to transfer vhd to new host"
msgstr ""
-#: nova/virt/xenapi/vmops.py:815
+#: nova/virt/xenapi/vmops.py:813
msgid "VM was already shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:819
+#: nova/virt/xenapi/vmops.py:817
msgid "Clean shutdown did not complete successfully, trying hard shutdown."
msgstr ""
-#: nova/virt/xenapi/vmops.py:823
+#: nova/virt/xenapi/vmops.py:821
#, fuzzy
msgid "Unable to terminate instance."
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/xenapi/vmops.py:828
-msgid "Resize down not allowed without auto_disk_config"
-msgstr ""
-
-#: nova/virt/xenapi/vmops.py:881
-msgid ""
-"_migrate_disk_resizing_down failed. Restoring orig vm due_to: "
-"%{exception}."
+#: 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:997
+#: 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:1002
+#: nova/virt/xenapi/vmops.py:998
msgid "Resize complete"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1046
+#: nova/virt/xenapi/vmops.py:1043
msgid "Starting halted instance found during reboot"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1052
+#: 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:1146
+#: nova/virt/xenapi/vmops.py:1151
msgid "Unable to find root VBD/VDI for VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1150
+#: nova/virt/xenapi/vmops.py:1155
msgid "Destroying VDIs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1177
+#: nova/virt/xenapi/vmops.py:1182
msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1184
+#: nova/virt/xenapi/vmops.py:1189
msgid "instance has a kernel or ramdisk but not both"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1191
+#: nova/virt/xenapi/vmops.py:1196
msgid "kernel/ramdisk files removed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1218
+#: nova/virt/xenapi/vmops.py:1223
msgid "Destroying VM"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1247
+#: nova/virt/xenapi/vmops.py:1252
msgid "VM is not present, skipping destroy..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1298
+#: nova/virt/xenapi/vmops.py:1303
#, python-format
msgid "Instance is already in Rescue Mode: %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1332
+#: nova/virt/xenapi/vmops.py:1337
msgid "VM is not present, skipping soft delete..."
msgstr ""
-#: nova/virt/xenapi/vmops.py:1385
+#: nova/virt/xenapi/vmops.py:1390
msgid "Automatically hard rebooting"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1525
+#: nova/virt/xenapi/vmops.py:1540
msgid "Injecting network info to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1544
+#: nova/virt/xenapi/vmops.py:1562
msgid "Creating vifs"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1553
+#: nova/virt/xenapi/vmops.py:1571
#, python-format
-msgid "Creating VIF for network %(network_ref)s"
+msgid "Creating VIF for network %s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1556
+#: nova/virt/xenapi/vmops.py:1574
#, python-format
msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1584
+#: nova/virt/xenapi/vmops.py:1603
msgid "Injecting hostname to xenstore"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1682
+#: nova/virt/xenapi/vmops.py:1707
#, python-format
-msgid ""
-"Destination host:%(hostname)s must be in the same aggregate as the source"
-" server"
+msgid "Destination host:%s must be in the same aggregate as the source server"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1703
+#: nova/virt/xenapi/vmops.py:1728
msgid "No suitable network for migrate"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1715
+#: nova/virt/xenapi/vmops.py:1740
msgid "Migrate Receive failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1789
+#: nova/virt/xenapi/vmops.py:1814
msgid "XAPI supporting relax-xsm-sr-check=true requried"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1800
+#: nova/virt/xenapi/vmops.py:1825
msgid "VM.assert_can_migrate failed"
msgstr ""
-#: nova/virt/xenapi/vmops.py:1853
+#: nova/virt/xenapi/vmops.py:1878
msgid "Migrate Send failed"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:51
#, python-format
-msgid "Creating SR %(label)s"
+msgid "Creating SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:61
#, python-format
-msgid "Introducing SR %(label)s"
+msgid "Introducing SR %s"
msgstr ""
#: nova/virt/xenapi/volume_utils.py:68
@@ -11106,24 +11283,24 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
#, python-format
-msgid "Unable to obtain target information %(mountpoint)s"
+msgid "Unable to obtain target information %s"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volumeops.py:47
#, python-format
-msgid "Unable to obtain target information %(connection_data)s"
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
msgstr ""
-#: nova/virt/xenapi/volumeops.py:70
-#, fuzzy, python-format
-msgid "Connect_volume: %(connection_info)s"
-msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
-#: nova/virt/xenapi/volumeops.py:139
+#: nova/virt/xenapi/volumeops.py:143
#, python-format
-msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgid "Skipping detach because VBD for %s was not found"
msgstr ""
#: nova/virt/xenapi/imageupload/glance.py:69
@@ -11134,7 +11311,7 @@ msgid ""
"%(attempt_num)d/%(max_attempts)d"
msgstr ""
-#: nova/virt/xenapi/imageupload/glance.py:82
+#: nova/virt/xenapi/imageupload/glance.py:87
#, python-format
msgid "upload_vhd failed: %r"
msgstr ""
@@ -11144,32 +11321,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 ""
@@ -11187,3 +11364,9 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
+#~ msgid "Certificate %(certificate_id)s not found."
+#~ msgstr ""
+
+#~ msgid "quantum authentication failed"
+#~ 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/network/api.py b/nova/network/api.py
index 1654bb32c..f396ea83e 100644
--- a/nova/network/api.py
+++ b/nova/network/api.py
@@ -279,7 +279,7 @@ class API(base.Base):
# this is called from compute.manager which shouldn't
# have db access so we do it on the other side of the
# rpc.
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = {}
args['vpn'] = vpn
args['requested_networks'] = requested_networks
@@ -329,7 +329,7 @@ class API(base.Base):
def add_fixed_ip_to_instance(self, context, instance, network_id,
conductor_api=None):
"""Adds a fixed ip to instance from specified network."""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = {'instance_id': instance['uuid'],
'rxtx_factor': instance_type['rxtx_factor'],
'host': instance['host'],
@@ -342,7 +342,7 @@ class API(base.Base):
conductor_api=None):
"""Removes a fixed ip from instance from specified network."""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = {'instance_id': instance['uuid'],
'rxtx_factor': instance_type['rxtx_factor'],
'host': instance['host'],
@@ -390,7 +390,7 @@ class API(base.Base):
def _get_instance_nw_info(self, context, instance):
"""Returns all network info related to an instance."""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = {'instance_id': instance['uuid'],
'rxtx_factor': instance_type['rxtx_factor'],
'host': instance['host'],
@@ -478,7 +478,8 @@ class API(base.Base):
def setup_networks_on_host(self, context, instance, host=None,
teardown=False):
"""Setup or teardown the network structures on hosts related to
- instance"""
+ instance.
+ """
host = host or instance['host']
# NOTE(tr3buchet): host is passed in cases where we need to setup
# or teardown the networks on a host which has been migrated to/from
@@ -507,7 +508,7 @@ class API(base.Base):
@wrap_check_policy
def migrate_instance_start(self, context, instance, migration):
"""Start to migrate the network of an instance."""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = dict(
instance_uuid=instance['uuid'],
rxtx_factor=instance_type['rxtx_factor'],
@@ -527,7 +528,7 @@ class API(base.Base):
@wrap_check_policy
def migrate_instance_finish(self, context, instance, migration):
"""Finish migrating the network of an instance."""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
args = dict(
instance_uuid=instance['uuid'],
rxtx_factor=instance_type['rxtx_factor'],
diff --git a/nova/network/l3.py b/nova/network/l3.py
index a7961f0c9..4fac2f135 100644
--- a/nova/network/l3.py
+++ b/nova/network/l3.py
@@ -53,7 +53,8 @@ class L3Driver(object):
"""Add a floating IP bound to the fixed IP with an optional
l3_interface_id. Some drivers won't care about the
l3_interface_id so just pass None in that case. Network
- is also an optional parameter."""
+ is also an optional parameter.
+ """
raise NotImplementedError()
def remove_floating_ip(self, floating_ip, fixed_ip, l3_interface_id,
@@ -138,7 +139,8 @@ class LinuxNetL3(L3Driver):
class NullL3(L3Driver):
"""The L3 driver that doesn't do anything. This class can be used when
nova-network should not manipulate L3 forwarding at all (e.g., in a Flat
- or FlatDHCP scenario)."""
+ or FlatDHCP scenario).
+ """
def __init__(self):
pass
diff --git a/nova/network/ldapdns.py b/nova/network/ldapdns.py
index df24680b0..19c862d38 100644
--- a/nova/network/ldapdns.py
+++ b/nova/network/ldapdns.py
@@ -84,8 +84,10 @@ class DNSEntry(object):
def __init__(self, ldap_object):
"""ldap_object is an instance of ldap.LDAPObject.
+
It should already be initialized and bound before
- getting passed in here."""
+ getting passed in here.
+ """
self.lobj = ldap_object
self.ldap_tuple = None
self.qualified_domain = None
@@ -307,7 +309,8 @@ class LdapDNS(dns_driver.DNSDriver):
"""Driver for PowerDNS using ldap as a back end.
This driver assumes ldap-method=strict, with all domains
- in the top-level, aRecords only."""
+ in the top-level, aRecords only.
+ """
def __init__(self):
self.lobj = ldap.initialize(CONF.ldap_dns_url)
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index dad496f23..15be3d3c4 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -628,11 +628,12 @@ def metadata_accept():
def add_snat_rule(ip_range):
if CONF.routing_source_ip:
- rule = '-s %s -j SNAT --to-source %s' % (ip_range,
- CONF.routing_source_ip)
- if CONF.public_interface:
- rule += ' -o %s' % CONF.public_interface
- iptables_manager.ipv4['nat'].add_rule('snat', rule)
+ for dest_range in CONF.force_snat_range or ['0.0.0.0/0']:
+ rule = ('-s %s -d %s -j SNAT --to-source %s'
+ % (ip_range, dest_range, CONF.routing_source_ip))
+ if CONF.public_interface:
+ rule += ' -o %s' % CONF.public_interface
+ iptables_manager.ipv4['nat'].add_rule('snat', rule)
iptables_manager.apply()
@@ -999,13 +1000,13 @@ def restart_dhcp(context, dev, network_ref):
# are not in multi_host mode.
optsfile = _dhcp_file(dev, 'opts')
write_to_file(optsfile, get_dhcp_opts(context, network_ref))
- os.chmod(optsfile, 0644)
+ os.chmod(optsfile, 0o644)
if network_ref['multi_host']:
_add_dhcp_mangle_rule(dev)
# Make sure dnsmasq can actually read it (it setuid()s to "nobody")
- os.chmod(conffile, 0644)
+ os.chmod(conffile, 0o644)
pid = _dnsmasq_pid_for(dev)
@@ -1091,7 +1092,7 @@ interface %s
write_to_file(conffile, conf_str)
# Make sure radvd can actually read it (it setuid()s to "nobody")
- os.chmod(conffile, 0644)
+ os.chmod(conffile, 0o644)
pid = _ra_pid_for(dev)
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 5d58edb97..4ba41e1b5 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -232,7 +232,8 @@ class RPCAllocateFixedIP(object):
def deallocate_fixed_ip(self, context, address, host=None, teardown=True):
"""Call the superclass deallocate_fixed_ip if i'm the correct host
- otherwise call to the correct host"""
+ otherwise call to the correct host
+ """
fixed_ip = self.db.fixed_ip_get_by_address(context, address)
network = self._get_network_by_id(context, fixed_ip['network_id'])
@@ -578,7 +579,8 @@ class NetworkManager(manager.Manager):
def build_network_info_model(self, context, vifs, networks,
rxtx_factor, instance_host):
"""Builds a NetworkInfo object containing all network information
- for an instance"""
+ for an instance.
+ """
nw_info = network_model.NetworkInfo()
for vif in vifs:
vif_dict = {'id': vif['uuid'],
@@ -1249,8 +1251,6 @@ class NetworkManager(manager.Manager):
instance['uuid'])
for vif in vifs:
network = self.db.network_get(context, vif['network_id'])
- fixed_ips = self.db.fixed_ips_by_virtual_interface(context,
- vif['id'])
if not network['multi_host']:
#NOTE (tr3buchet): if using multi_host, host is instance[host]
host = network['host']
@@ -1407,15 +1407,12 @@ class NetworkManager(manager.Manager):
if CONF.fake_network:
return
- for network_id in network_ids:
- network = self.db.network_get(context, network_id)
- if not network['multi_host']:
- continue
- host_networks = self.db.network_get_all_by_host(context, self.host)
- for host_network in host_networks:
- if host_network['id'] == network_id:
- dev = self.driver.get_dev(network)
- self.driver.update_dns(context, dev, network)
+ networks = [network for network in
+ self.db.network_get_all_by_host(context, self.host)
+ if network['multi_host'] and network['id'] in network_ids]
+ for network in networks:
+ dev = self.driver.get_dev(network)
+ self.driver.update_dns(context, dev, network)
def add_network_to_project(self, ctxt, project_id, network_uuid):
raise NotImplementedError()
diff --git a/nova/network/model.py b/nova/network/model.py
index cf01d98cf..4efa70ab6 100644
--- a/nova/network/model.py
+++ b/nova/network/model.py
@@ -15,6 +15,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+import functools
+
+import eventlet
import netaddr
from nova import exception
@@ -69,7 +72,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):
@@ -434,3 +437,75 @@ class NetworkInfo(list):
network_info.append((network_dict, info_dict))
return network_info
+
+
+class NetworkInfoAsyncWrapper(NetworkInfo):
+ """Wrapper around NetworkInfo that allows retrieving NetworkInfo
+ in an async manner.
+
+ This allows one to start querying for network information before
+ you know you will need it. If you have a long-running
+ operation, this allows the network model retrieval to occur in the
+ background. When you need the data, it will ensure the async
+ operation has completed.
+
+ As an example:
+
+ def allocate_net_info(arg1, arg2)
+ return call_quantum_to_allocate(arg1, arg2)
+
+ network_info = NetworkInfoAsyncWrapper(allocate_net_info, arg1, arg2)
+ [do a long running operation -- real network_info will be retrieved
+ in the background]
+ [do something with network_info]
+ """
+
+ def __init__(self, async_method, *args, **kwargs):
+ self._gt = eventlet.spawn(async_method, *args, **kwargs)
+ methods = ['json', 'legacy', 'fixed_ips', 'floating_ips']
+ for method in methods:
+ fn = getattr(self, method)
+ wrapper = functools.partial(self._sync_wrapper, fn)
+ functools.update_wrapper(wrapper, fn)
+ setattr(self, method, wrapper)
+
+ def _sync_wrapper(self, wrapped, *args, **kwargs):
+ """Synchronize the model before running a method."""
+ self.wait()
+ return wrapped(*args, **kwargs)
+
+ def __getitem__(self, *args, **kwargs):
+ fn = super(NetworkInfoAsyncWrapper, self).__getitem__
+ return self._sync_wrapper(fn, *args, **kwargs)
+
+ def __iter__(self, *args, **kwargs):
+ fn = super(NetworkInfoAsyncWrapper, self).__iter__
+ return self._sync_wrapper(fn, *args, **kwargs)
+
+ def __len__(self, *args, **kwargs):
+ fn = super(NetworkInfoAsyncWrapper, self).__len__
+ return self._sync_wrapper(fn, *args, **kwargs)
+
+ def __str__(self, *args, **kwargs):
+ fn = super(NetworkInfoAsyncWrapper, self).__str__
+ return self._sync_wrapper(fn, *args, **kwargs)
+
+ def __repr__(self, *args, **kwargs):
+ fn = super(NetworkInfoAsyncWrapper, self).__repr__
+ return self._sync_wrapper(fn, *args, **kwargs)
+
+ def wait(self, do_raise=True):
+ """Wait for async call to finish."""
+ if self._gt is not None:
+ try:
+ # NOTE(comstud): This looks funky, but this object is
+ # subclassed from list. In other words, 'self' is really
+ # just a list with a bunch of extra methods. So this
+ # line just replaces the current list (which should be
+ # empty) with the result.
+ self[:] = self._gt.wait()
+ except Exception:
+ if do_raise:
+ raise
+ finally:
+ self._gt = None
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 c577ebce8..c7f4ffd58 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',
@@ -311,7 +309,7 @@ class API(base.Base):
"""
self._refresh_quantum_extensions_cache()
if 'nvp-qos' in self.extensions:
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
rxtx_factor = instance_type.get('rxtx_factor')
port_req_body['port']['rxtx_factor'] = rxtx_factor
@@ -325,7 +323,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']})
@@ -540,7 +538,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
@@ -706,6 +704,8 @@ class API(base.Base):
def _get_floating_ip_by_address(self, client, address):
"""Get floatingip from floating ip address."""
+ if not address:
+ raise exception.FloatingIpNotFoundForAddress(address=address)
data = client.list_floatingips(floating_ip_address=address)
fips = data['floatingips']
if len(fips) == 0:
@@ -721,7 +721,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 cb5f6551f..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):
@@ -109,7 +113,7 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
nova_rule['from_port'] = rule.get('port_range_min')
nova_rule['to_port'] = rule.get('port_range_max')
nova_rule['group_id'] = rule['remote_group_id']
- nova_rule['cidr'] = rule['remote_ip_prefix']
+ nova_rule['cidr'] = self.parse_cidr(rule.get('remote_ip_prefix'))
return nova_rule
def get(self, context, name=None, id=None, map_exception=False):
@@ -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.
@@ -179,7 +185,8 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
Note: the Nova security group API doesn't support adding muliple
security group rules at once but the EC2 one does. Therefore,
this function is writen to support both. Multiple rules are
- installed to a security group in quantum using bulk support."""
+ installed to a security group in quantum using bulk support.
+ """
quantum = quantumv2.get_client(context)
body = self._make_quantum_security_group_rules_list(vals)
@@ -187,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(
@@ -245,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)
@@ -255,17 +262,19 @@ 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):
"""Returns a dict(instance_id, [security_groups]) to allow obtaining
- all of the instances and their security groups in one shot."""
+ all of the instances and their security groups in one shot.
+ """
quantum = quantumv2.get_client(context)
ports = quantum.list_ports().get('ports')
security_groups = quantum.list_security_groups().get('security_groups')
@@ -293,17 +302,14 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
pass
return instances_security_group_bindings
- def get_instance_security_groups(self, context, instance_id,
- instance_uuid=None, detailed=False):
+ def get_instance_security_groups(self, context, instance_uuid,
+ detailed=False):
"""Returns the security groups that are associated with an instance.
If detailed is True then it also returns the full details of the
security groups associated with an instance.
"""
quantum = quantumv2.get_client(context)
- if instance_uuid:
- params = {'device_id': instance_uuid}
- else:
- params = {'device_id': instance_id}
+ params = {'device_id': instance_uuid}
ports = quantum.list_ports(**params)
security_groups = quantum.list_security_groups().get('security_groups')
@@ -336,12 +342,11 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
return ret
def _has_security_group_requirements(self, port):
- port_security_enabled = port.get('port_security_enabled')
+ port_security_enabled = port.get('port_security_enabled', True)
has_ip = port.get('fixed_ips')
- if port_security_enabled and has_ip:
- return True
- else:
- return False
+ if has_ip:
+ return port_security_enabled
+ return False
@wrap_check_security_groups_policy
def add_to_instance(self, context, instance, security_group_name):
@@ -352,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"
@@ -400,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"
@@ -440,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/network/security_group/security_group_base.py b/nova/network/security_group/security_group_base.py
index 484927c84..9f1a57201 100644
--- a/nova/network/security_group/security_group_base.py
+++ b/nova/network/security_group/security_group_base.py
@@ -179,7 +179,8 @@ class SecurityGroupBase(object):
def populate_security_groups(self, instance, security_groups):
"""Called when populating the database for an instances
- security groups."""
+ security groups.
+ """
raise NotImplementedError()
def create_security_group(self, context, name, description):
@@ -208,8 +209,8 @@ class SecurityGroupBase(object):
def get_rule(self, context, id):
raise NotImplementedError()
- def get_instance_security_groups(self, context, instance_id,
- instance_uuid=None, detailed=False):
+ def get_instance_security_groups(self, context, instance_uuid,
+ detailed=False):
raise NotImplementedError()
def add_to_instance(self, context, instance, security_group_name):
diff --git a/nova/notifications.py b/nova/notifications.py
index 3800632c5..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,9 +159,10 @@ 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"""
+ about instance state changes.
+ """
payload = info_from_instance(context, instance, None, None)
@@ -184,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',
@@ -284,7 +293,7 @@ def info_from_instance(context, instance_ref, network_info,
image_ref_url = glance.generate_image_url(instance_ref['image_ref'])
- instance_type = flavors.extract_instance_type(instance_ref)
+ instance_type = flavors.extract_flavor(instance_ref)
instance_type_name = instance_type.get('name', '')
if system_metadata is None:
diff --git a/nova/objects/__init__.py b/nova/objects/__init__.py
index 67f4db51a..00f8240f1 100644
--- a/nova/objects/__init__.py
+++ b/nova/objects/__init__.py
@@ -11,3 +11,11 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+
+
+def register_all():
+ # NOTE(danms): You must make sure your object gets imported in this
+ # 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')
diff --git a/nova/objects/base.py b/nova/objects/base.py
index 1ba0f03b7..f5fc37e03 100644
--- a/nova/objects/base.py
+++ b/nova/objects/base.py
@@ -39,10 +39,10 @@ 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(name)
+ self.obj_load_attr(name)
return getattr(self, attrname)
def setter(self, value, name=name, typefn=typefn):
@@ -180,7 +180,9 @@ class NovaObject(object):
'created_at': obj_utils.datetime_or_str_or_none,
'updated_at': obj_utils.datetime_or_str_or_none,
'deleted_at': obj_utils.datetime_or_str_or_none,
+ 'deleted': bool,
}
+ obj_extra_fields = []
def __init__(self):
self._changed_fields = set()
@@ -189,7 +191,8 @@ class NovaObject(object):
@classmethod
def obj_name(cls):
"""Return a canonical name for this object which will be used over
- the wire for remote hydration."""
+ the wire for remote hydration.
+ """
return cls.__name__
@classmethod
@@ -233,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.
@@ -249,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,
@@ -309,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):
@@ -328,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())
@@ -356,6 +361,62 @@ class NovaObject(object):
return self[key]
+class ObjectListBase(object):
+ """Mixin class for lists of objects.
+
+ This mixin class can be added as a base class for an object that
+ is implementing a list of objects. It adds a single field of 'objects',
+ which is the list store, and behaves like a list itself. It supports
+ serialization of the list of objects automatically.
+ """
+ fields = {
+ 'objects': list,
+ }
+
+ def __iter__(self):
+ """List iterator interface."""
+ return iter(self.objects)
+
+ def __len__(self):
+ """List length."""
+ return len(self.objects)
+
+ def __getitem__(self, index):
+ """List index access."""
+ if isinstance(index, slice):
+ new_obj = self.__class__()
+ new_obj.objects = self.objects[index]
+ # NOTE(danms): We must be mixed in with a NovaObject!
+ new_obj.obj_reset_changes()
+ new_obj._context = self._context
+ return new_obj
+ return self.objects[index]
+
+ def __contains__(self, value):
+ """List membership test."""
+ return value in self.objects
+
+ def count(self, value):
+ """List count of value occurrences."""
+ return self.objects.count(value)
+
+ def index(self, value):
+ """List index of value."""
+ return self.objects.index(value)
+
+ def _attr_objects_to_primitive(self):
+ """Serialization of object list."""
+ return [x.obj_to_primitive() for x in self.objects]
+
+ def _attr_objects_from_primitive(self, value):
+ """Deserialization of object list."""
+ 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):
"""A NovaObject-aware Serializer.
@@ -372,6 +433,5 @@ class NovaObjectSerializer(nova.openstack.common.rpc.serializer.Serializer):
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)
return entity
diff --git a/nova/objects/instance.py b/nova/objects/instance.py
index dbf9786df..de47f648f 100644
--- a/nova/objects/instance.py
+++ b/nova/objects/instance.py
@@ -15,6 +15,7 @@
from nova import db
from nova import notifications
from nova.objects import base
+from nova.objects import instance_info_cache
from nova.objects import utils as obj_utils
from nova import utils
@@ -24,7 +25,17 @@ from oslo.config import cfg
CONF = cfg.CONF
+# These are fields that can be specified as expected_attrs
+INSTANCE_OPTIONAL_FIELDS = ['metadata', 'system_metadata']
+# These are fields that are always joined by the db right now
+INSTANCE_IMPLIED_FIELDS = ['info_cache']
+
+
class Instance(base.NovaObject):
+ # Version 1.0: Initial version
+ # Version 1.1: Added info_cache
+ VERSION = '1.1'
+
fields = {
'id': int,
@@ -94,8 +105,13 @@ class Instance(base.NovaObject):
'metadata': dict,
'system_metadata': dict,
+ 'info_cache': obj_utils.nested_object_or_none(
+ instance_info_cache.InstanceInfoCache)
+
}
+ obj_extra_fields = ['name']
+
@property
def name(self):
try:
@@ -132,11 +148,15 @@ class Instance(base.NovaObject):
_attr_scheduled_at_to_primitive = obj_utils.dt_serializer('scheduled_at')
_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_scheduled_at_from_primitive = obj_utils.dt_deserializer
_attr_launched_at_from_primitive = obj_utils.dt_deserializer
_attr_terminated_at_from_primitive = obj_utils.dt_deserializer
+ def _attr_info_cache_from_primitive(self, val):
+ return base.NovaObject.obj_from_primitive(val)
+
@staticmethod
def _from_db_object(instance, db_inst, expected_attrs=None):
"""Method to help with migration to objects.
@@ -147,21 +167,31 @@ class Instance(base.NovaObject):
expected_attrs = []
# Most of the field names match right now, so be quick
for field in instance.fields:
- if field in ['metadata', 'system_metadata']:
+ if field in INSTANCE_OPTIONAL_FIELDS + INSTANCE_IMPLIED_FIELDS:
continue
- instance[field] = db_inst[field]
+ elif field == 'deleted':
+ instance.deleted = db_inst['deleted'] == db_inst['id']
+ else:
+ instance[field] = db_inst[field]
if 'metadata' in expected_attrs:
instance['metadata'] = utils.metadata_to_dict(db_inst['metadata'])
if 'system_metadata' in expected_attrs:
instance['system_metadata'] = utils.metadata_to_dict(
db_inst['system_metadata'])
+ # 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'])
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 = []
@@ -171,6 +201,9 @@ class Instance(base.NovaObject):
columns_to_join.append('metadata')
if 'system_metadata' in expected_attrs:
columns_to_join.append('system_metadata')
+ # NOTE(danms): The DB API currently always joins info_cache and
+ # security_groups for get operations, so don't add them to the
+ # list of columns
db_inst = db.instance_get_by_uuid(context, uuid,
columns_to_join)
@@ -190,28 +223,33 @@ class Instance(base.NovaObject):
"""
updates = {}
changes = self.obj_what_changed()
- for field in changes:
- updates[field] = self[field]
+ for field in self.fields:
+ if (hasattr(self, base.get_attrname(field)) and
+ isinstance(self[field], base.NovaObject)):
+ self[field].save(context)
+ elif field in changes:
+ updates[field] = self[field]
if expected_task_state is not None:
updates['expected_task_state'] = expected_task_state
- old_ref, inst_ref = db.instance_update_and_get_original(context,
- self.uuid,
- updates)
-
- expected_attrs = []
- for attr in ('metadata', 'system_metadata'):
- if hasattr(self, base.get_attrname(attr)):
- expected_attrs.append(attr)
- Instance._from_db_object(self, inst_ref, expected_attrs)
- if 'vm_state' in changes or 'task_state' in changes:
- notifications.send_update(context, old_ref, inst_ref)
+
+ if updates:
+ old_ref, inst_ref = db.instance_update_and_get_original(context,
+ self.uuid,
+ updates)
+ expected_attrs = []
+ 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)
+ if 'vm_state' in changes or 'task_state' in changes:
+ notifications.send_update(context, old_ref, inst_ref)
self.obj_reset_changes()
@base.remotable
def refresh(self, context):
extra = []
- for field in ['system_metadata', 'metadata']:
+ for field in INSTANCE_OPTIONAL_FIELDS:
if hasattr(self, base.get_attrname(field)):
extra.append(field)
current = self.__class__.get_by_uuid(context, uuid=self.uuid,
@@ -220,13 +258,16 @@ 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(self, attrname):
+ def obj_load_attr(self, attrname):
extra = []
if attrname == 'system_metadata':
extra.append('system_metadata')
elif attrname == 'metadata':
extra.append('metadata')
+ elif attrname == 'info_cache':
+ extra.append('info_cache')
if not extra:
raise Exception('Cannot load "%s" from instance' % attrname)
@@ -236,3 +277,57 @@ class Instance(base.NovaObject):
uuid=self.uuid,
expected_attrs=extra)
self[attrname] = instance[attrname]
+
+
+def _make_instance_list(context, inst_list, db_inst_list, expected_attrs):
+ inst_list.objects = []
+ for db_inst in db_inst_list:
+ inst_obj = Instance._from_db_object(Instance(), db_inst,
+ expected_attrs=expected_attrs)
+ inst_obj._context = context
+ inst_list.objects.append(inst_obj)
+ inst_list.obj_reset_changes()
+ return inst_list
+
+
+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)
+
+ 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)
+ return _make_instance_list(context, cls(), db_inst_list,
+ expected_attrs)
+
+ @base.remotable_classmethod
+ def get_by_host_and_node(cls, context, host, node, expected_attrs=None):
+ db_inst_list = db.instance_get_all_by_host_and_node(
+ context, host, node)
+ return _make_instance_list(context, cls(), db_inst_list,
+ expected_attrs)
+
+ @base.remotable_classmethod
+ def get_by_host_and_not_type(cls, context, host, type_id=None,
+ expected_attrs=None):
+ db_inst_list = db.instance_get_all_by_host_and_not_type(
+ context, host, type_id=type_id)
+ return _make_instance_list(context, cls(), db_inst_list,
+ expected_attrs)
+
+ @base.remotable_classmethod
+ def get_hung_in_rebooting(cls, context, reboot_window,
+ expected_attrs=None):
+ db_inst_list = db.instance_get_all_hung_in_rebooting(context,
+ reboot_window)
+ return _make_instance_list(context, cls(), db_inst_list,
+ expected_attrs)
diff --git a/nova/objects/instance_info_cache.py b/nova/objects/instance_info_cache.py
new file mode 100644
index 000000000..6b46559ed
--- /dev/null
+++ b/nova/objects/instance_info_cache.py
@@ -0,0 +1,42 @@
+# 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 InstanceInfoCache(base.NovaObject):
+ fields = {
+ 'instance_uuid': str,
+ 'network_info': str,
+ }
+
+ @staticmethod
+ def _from_db_object(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()
+ 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)
+
+ @base.remotable
+ def save(self, context):
+ if 'network_info' in self.obj_what_changed():
+ db.instance_info_cache_update(context, self.instance_uuid,
+ {'network_info': self.network_info})
+ self.obj_reset_changes()
diff --git a/nova/objects/utils.py b/nova/objects/utils.py
index 21ef6faeb..e79b36e7e 100644
--- a/nova/objects/utils.py
+++ b/nova/objects/utils.py
@@ -70,6 +70,14 @@ def ip_or_none(version):
return validator
+def nested_object_or_none(objclass):
+ def validator(val, objclass=objclass):
+ if val is None or isinstance(val, objclass):
+ return val
+ raise ValueError('An object of class %s is required here' % objclass)
+ return validator
+
+
def dt_serializer(name):
"""Return a datetime serializer for a named attribute."""
def serializer(self, name=name):
@@ -86,3 +94,12 @@ def dt_deserializer(instance, val):
return None
else:
return timeutils.parse_isotime(val)
+
+
+def obj_serializer(name):
+ def serializer(self, name=name):
+ if getattr(self, name) is not None:
+ return getattr(self, name).obj_to_primitive()
+ else:
+ return None
+ return serializer
diff --git a/nova/openstack/common/config/__init__.py b/nova/openstack/common/config/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/nova/openstack/common/config/__init__.py
diff --git a/tools/conf/extract_opts.py b/nova/openstack/common/config/generator.py
index deb49f7a9..7ab3abc70 100644..100755
--- a/tools/conf/extract_opts.py
+++ b/nova/openstack/common/config/generator.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 SINA Corporation
@@ -17,7 +18,6 @@
#
# @author: Zhongyue Luo, SINA Corporation.
#
-
"""Extracts OpenStack config option info from module(s)."""
import imp
@@ -29,8 +29,10 @@ import textwrap
from oslo.config import cfg
+from nova.openstack.common import gettextutils
from nova.openstack.common import importutils
+gettextutils.install('nova')
STROPT = "StrOpt"
BOOLOPT = "BoolOpt"
@@ -58,7 +60,7 @@ BASEDIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../"))
WORDWRAP_WIDTH = 60
-def main(srcfiles):
+def generate(srcfiles):
mods_by_pkg = dict()
for filepath in srcfiles:
pkg_name = filepath.split(os.sep)[1]
@@ -104,58 +106,37 @@ def _import_module(mod_str):
return sys.modules[mod_str[4:]]
else:
return importutils.import_module(mod_str)
- except (ValueError, AttributeError) as err:
- return None
except ImportError as ie:
sys.stderr.write("%s\n" % str(ie))
return None
- except Exception as e:
+ except Exception:
return None
-def _guess_groups(opt, mod_obj):
- groups = []
+def _is_in_group(opt, group):
+ "Check if opt is in group."
+ for key, value in group._opts.items():
+ if value['opt'] == opt:
+ return True
+ return False
+
+def _guess_groups(opt, mod_obj):
# is it in the DEFAULT group?
- if (opt.dest in cfg.CONF and
- not isinstance(cfg.CONF[opt.dest], cfg.CONF.GroupAttr)):
- groups.append('DEFAULT')
+ if _is_in_group(opt, cfg.CONF):
+ return 'DEFAULT'
# what other groups is it in?
for key, value in cfg.CONF.items():
- if not isinstance(value, cfg.CONF.GroupAttr):
- continue
- if opt.dest not in value:
- continue
- groups.append(key)
-
- if len(groups) == 1:
- return groups[0]
-
- group = None
- for g in groups:
- if g in mod_obj.__name__:
- group = g
- break
-
- if group is None and 'DEFAULT' in groups:
- sys.stderr.write("Guessing that " + opt.dest +
- " in " + mod_obj.__name__ +
- " is in DEFAULT group out of " +
- ','.join(groups) + "\n")
- return 'DEFAULT'
-
- if group is None:
- sys.stderr.write("Unable to guess what group " + opt.dest +
- " in " + mod_obj.__name__ +
- " is in out of " + ','.join(groups) + "\n")
- sys.exit(1)
+ if isinstance(value, cfg.CONF.GroupAttr):
+ if _is_in_group(opt, value._group):
+ return value._group.name
- sys.stderr.write("Guessing that " + opt.dest +
- " in " + mod_obj.__name__ +
- " is in the " + group +
- " group out of " + ','.join(groups) + "\n")
- return group
+ raise RuntimeError(
+ "Unable to find group for option %s, "
+ "maybe it's defined twice in the same group?"
+ % opt.name
+ )
def _list_opts(obj):
@@ -262,8 +243,11 @@ def _print_opt(opt):
sys.exit(1)
-if __name__ == '__main__':
+def main():
if len(sys.argv) < 2:
- print "usage: python %s [srcfile]...\n" % sys.argv[0]
+ print "usage: %s [srcfile]...\n" % sys.argv[0]
sys.exit(0)
- main(sys.argv[1:])
+ generate(sys.argv[1:])
+
+if __name__ == '__main__':
+ main()
diff --git a/nova/openstack/common/db/sqlalchemy/session.py b/nova/openstack/common/db/sqlalchemy/session.py
index a3f4283d0..093d8b082 100644
--- a/nova/openstack/common/db/sqlalchemy/session.py
+++ b/nova/openstack/common/db/sqlalchemy/session.py
@@ -386,14 +386,15 @@ def _raise_if_duplicate_entry_error(integrity_error, engine_name):
"""
def get_columns_from_uniq_cons_or_name(columns):
- # note(boris-42): UniqueConstraint name convention: "uniq_c1_x_c2_x_c3"
- # means that columns c1, c2, c3 are in UniqueConstraint.
+ # note(vsergeyev): UniqueConstraint name convention: "uniq_t0c10c2"
+ # where `t` it is table name, `0` it is delimiter and
+ # columns `c1`, `c2` are in UniqueConstraint.
uniqbase = "uniq_"
if not columns.startswith(uniqbase):
if engine_name == "postgresql":
return [columns[columns.index("_") + 1:columns.rindex("_")]]
return [columns]
- return columns[len(uniqbase):].split("_x_")
+ return columns[len(uniqbase):].split("0")[1:]
if engine_name not in ["mysql", "sqlite", "postgresql"]:
return
diff --git a/nova/openstack/common/fileutils.py b/nova/openstack/common/fileutils.py
index b988ad03d..53e07a2a5 100644
--- a/nova/openstack/common/fileutils.py
+++ b/nova/openstack/common/fileutils.py
@@ -16,9 +16,18 @@
# under the License.
+import contextlib
import errno
import os
+from nova.openstack.common import excutils
+from nova.openstack.common.gettextutils import _
+from nova.openstack.common import log as logging
+
+LOG = logging.getLogger(__name__)
+
+_FILE_CACHE = {}
+
def ensure_tree(path):
"""Create a directory (and any ancestor directories required)
@@ -33,3 +42,69 @@ def ensure_tree(path):
raise
else:
raise
+
+
+def read_cached_file(filename, force_reload=False):
+ """Read from a file if it has been modified.
+
+ :param force_reload: Whether to reload the file.
+ :returns: A tuple with a boolean specifying if the data is fresh
+ or not.
+ """
+ global _FILE_CACHE
+
+ if force_reload and filename in _FILE_CACHE:
+ del _FILE_CACHE[filename]
+
+ reloaded = False
+ mtime = os.path.getmtime(filename)
+ cache_info = _FILE_CACHE.setdefault(filename, {})
+
+ if not cache_info or mtime > cache_info.get('mtime', 0):
+ LOG.debug(_("Reloading cached file %s") % filename)
+ with open(filename) as fap:
+ cache_info['data'] = fap.read()
+ cache_info['mtime'] = mtime
+ reloaded = True
+ return (reloaded, cache_info['data'])
+
+
+def delete_if_exists(path):
+ """Delete a file, but ignore file not found error.
+
+ :param path: File to delete
+ """
+
+ try:
+ os.unlink(path)
+ except OSError as e:
+ if e.errno == errno.ENOENT:
+ return
+ else:
+ raise
+
+
+@contextlib.contextmanager
+def remove_path_on_error(path):
+ """Protect code that wants to operate on PATH atomically.
+ Any exception will cause PATH to be removed.
+
+ :param path: File to work with
+ """
+ try:
+ yield
+ except Exception:
+ with excutils.save_and_reraise_exception():
+ delete_if_exists(path)
+
+
+def file_open(*args, **kwargs):
+ """Open file
+
+ see built-in file() documentation for more details
+
+ Note: The reason this is kept in a separate module is to easily
+ be able to provide a stub module that doesn't alter system
+ state at all (for unit tests)
+ """
+ return file(*args, **kwargs)
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/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/rpc/proxy.py b/nova/openstack/common/rpc/proxy.py
index dcdfc0864..345457b69 100644
--- a/nova/openstack/common/rpc/proxy.py
+++ b/nova/openstack/common/rpc/proxy.py
@@ -76,6 +76,10 @@ class RpcProxy(object):
"""Return the topic to use for a message."""
return topic if topic else self.topic
+ def can_send_version(self, version):
+ return (not self.version_cap or
+ rpc_common.version_is_compatible(self.version_cap, version))
+
@staticmethod
def make_namespaced_msg(method, namespace, **kwargs):
return {'method': method, 'namespace': namespace, 'args': kwargs}
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 6e9688d81..0f8f3c45a 100644
--- a/nova/scheduler/chance.py
+++ b/nova/scheduler/chance.py
@@ -60,9 +60,12 @@ class ChanceScheduler(driver.Scheduler):
def select_hosts(self, context, request_spec, filter_properties):
"""Selects a set of random hosts."""
- return [self._schedule(context, CONF.compute_topic,
+ hosts = [self._schedule(context, CONF.compute_topic,
request_spec, filter_properties)
for instance_uuid in request_spec.get('instance_uuids', [])]
+ if not hosts:
+ raise exception.NoValidHost(reason="")
+ return hosts
def schedule_run_instance(self, context, request_spec,
admin_password, injected_files,
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 4ad6b8513..d5a1eedea 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -60,8 +60,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,
@@ -257,7 +257,7 @@ class Scheduler(object):
# If dest is not specified, have scheduler pick one.
if dest is None:
- instance_type = flavors.extract_instance_type(instance_ref)
+ instance_type = flavors.extract_flavor(instance_ref)
if not instance_ref['image_ref']:
image = None
else:
@@ -339,7 +339,9 @@ class Scheduler(object):
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())
+ raise exception.MigrationPreCheckError(reason=reason %
+ {'instance_uuid': instance_uuid, 'dest': dest, 'avail': avail,
+ 'mem_inst': mem_inst})
def _get_compute_info(self, context, host):
"""get compute node's information specified by key
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index 186cecc14..08cb6a20e 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -392,7 +392,7 @@ class FilterScheduler(driver.Scheduler):
host_state = self.host_manager.host_state_cls(dest, node)
host_state.update_from_compute_node(compute)
- instance_type = flavors.extract_instance_type(instance_ref)
+ instance_type = flavors.extract_flavor(instance_ref)
filter_properties = {'instance_type': instance_type}
hosts = self.host_manager.get_filtered_hosts([host_state],
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 232e98880..36629435c 100644
--- a/nova/scheduler/filters/compute_capabilities_filter.py
+++ b/nova/scheduler/filters/compute_capabilities_filter.py
@@ -26,7 +26,8 @@ class ComputeCapabilitiesFilter(filters.BaseHostFilter):
def _satisfies_extra_specs(self, capabilities, instance_type):
"""Check that the capabilities provided by the compute service
- satisfy the extra specs associated with the instance type"""
+ satisfy the extra specs associated with the instance type.
+ """
if 'extra_specs' not in instance_type:
return True
@@ -45,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/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 ca7cd956f..5c99feb03 100644
--- a/nova/scheduler/manager.py
+++ b/nova/scheduler/manager.py
@@ -123,10 +123,13 @@ class SchedulerManager(manager.Manager):
expected_task_state=task_states.MIGRATING,),
context, ex, request_spec)
except Exception as ex:
+ request_spec = {'instance_properties': {
+ 'uuid': instance['uuid'], },
+ }
with excutils.save_and_reraise_exception():
self._set_vm_state_and_notify('live_migration',
{'vm_state': vm_states.ERROR},
- context, ex, {})
+ context, ex, request_spec)
def run_instance(self, context, request_spec, admin_password,
injected_files, requested_networks, is_first_time,
@@ -205,7 +208,8 @@ class SchedulerManager(manager.Manager):
# The refactoring could go further but trying to minimize changes
# for essex timeframe
- LOG.warning(_("Failed to schedule_%(method)s: %(ex)s") % locals())
+ LOG.warning(_("Failed to schedule_%(method)s: %(ex)s"),
+ {'method': method, 'ex': ex})
vm_state = updates['vm_state']
properties = request_spec.get('instance_properties', {})
@@ -219,8 +223,8 @@ class SchedulerManager(manager.Manager):
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)
+ LOG.warning(_('Setting instance to %s state.'), state,
+ instance_uuid=instance_uuid)
# update instance state and notify on the transition
(old_ref, new_ref) = self.db.instance_update_and_get_original(
@@ -306,8 +310,9 @@ class SchedulerManager(manager.Manager):
return self.backdoor_port
def select_hosts(self, context, request_spec, filter_properties):
- """Returns host(s) best suited for this request_spec and
- filter_properties"""
+ """Returns host(s) best suited for this request_spec
+ and filter_properties.
+ """
hosts = self.driver.select_hosts(context, request_spec,
filter_properties)
return jsonutils.to_primitive(hosts)
diff --git a/nova/scheduler/rpcapi.py b/nova/scheduler/rpcapi.py
index 2cfd5688f..369363bb4 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,10 @@ 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.
'''
#
@@ -70,9 +79,16 @@ 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 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 315f9df2b..b707f424c 100644
--- a/nova/scheduler/utils.py
+++ b/nova/scheduler/utils.py
@@ -15,19 +15,26 @@
"""Utility methods for scheduling."""
from nova.compute import flavors
+from nova import db
from nova.openstack.common import jsonutils
-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_instance_type(instance),
+ 'instance_type': instance_type,
'instance_uuids': [inst['uuid'] for inst in instances]}
- return request_spec
+ return jsonutils.to_primitive(request_spec)
diff --git a/nova/service.py b/nova/service.py
index 245640e5e..715040323 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -117,7 +117,8 @@ class Service(service.Service):
A service takes a manager and enables rpc by listening to queues based
on topic. It also periodically runs tasks on the manager and reports
- it state to the database services table."""
+ it state to the database services table.
+ """
def __init__(self, host, binary, topic, manager, report_interval=None,
periodic_enable=None, periodic_fuzzy_delay=None,
@@ -285,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/storage/linuxscsi.py b/nova/storage/linuxscsi.py
index afd8aa81c..d8c8b7f50 100644
--- a/nova/storage/linuxscsi.py
+++ b/nova/storage/linuxscsi.py
@@ -112,8 +112,11 @@ def find_multipath_device(device):
# on /etc/multipath.conf settings.
if info[1][:2] == "dm":
mdev = "/dev/%s" % info[1]
+ mdev_id = info[0]
elif info[2][:2] == "dm":
mdev = "/dev/%s" % info[2]
+ mdev_id = info[1].replace('(', '')
+ mdev_id = mdev_id.replace(')', '')
if mdev is None:
LOG.warn(_("Couldn't find multipath device %(line)s")
@@ -139,6 +142,7 @@ def find_multipath_device(device):
if mdev is not None:
info = {"device": mdev,
+ "id": mdev_id,
"devices": devices}
return info
return None
diff --git a/nova/test.py b/nova/test.py
index f0dba7c7c..a8af00889 100644
--- a/nova/test.py
+++ b/nova/test.py
@@ -26,6 +26,7 @@ inline callbacks.
import eventlet
eventlet.monkey_patch(os=False)
+import copy
import os
import shutil
import sys
@@ -41,6 +42,7 @@ from nova import context
from nova import db
from nova.db import migration
from nova.network import manager as network_manager
+from nova.objects import base as objects_base
from nova.openstack.common.db.sqlalchemy import session
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
@@ -189,7 +191,12 @@ class TestingException(Exception):
class TestCase(testtools.TestCase):
- """Test case base class for all unit tests."""
+ """Test case base class for all unit tests.
+
+ Due to the slowness of DB access, please consider deriving from
+ `NoDBTestCase` first.
+ """
+ USES_DB = True
def setUp(self):
"""Run before each test method to initialize test environment."""
@@ -217,13 +224,23 @@ class TestCase(testtools.TestCase):
self.log_fixture = self.useFixture(fixtures.FakeLogger())
self.useFixture(conf_fixture.ConfFixture(CONF))
- global _DB_CACHE
- if not _DB_CACHE:
- _DB_CACHE = Database(session, migration,
- sql_connection=CONF.sql_connection,
- sqlite_db=CONF.sqlite_db,
- sqlite_clean_db=CONF.sqlite_clean_db)
- self.useFixture(_DB_CACHE)
+ if self.USES_DB:
+ global _DB_CACHE
+ if not _DB_CACHE:
+ _DB_CACHE = Database(session, migration,
+ sql_connection=CONF.sql_connection,
+ sqlite_db=CONF.sqlite_db,
+ sqlite_clean_db=CONF.sqlite_clean_db)
+
+ self.useFixture(_DB_CACHE)
+
+ # NOTE(danms): Make sure to reset us back to non-remote objects
+ # for each test to avoid interactions. Also, backup the object
+ # registry.
+ objects_base.NovaObject.indirection_api = None
+ self._base_test_obj_backup = copy.copy(
+ objects_base.NovaObject._obj_classes)
+ self.addCleanup(self._restore_obj_registry)
mox_fixture = self.useFixture(MoxStubout())
self.mox = mox_fixture.mox
@@ -234,6 +251,9 @@ class TestCase(testtools.TestCase):
CONF.set_override('fatal_exception_format_errors', True)
CONF.set_override('enabled', True, 'osapi_v3')
+ def _restore_obj_registry(self):
+ objects_base.NovaObject._obj_classes = self._base_test_obj_backup
+
def _clear_attrs(self):
# Delete attributes that don't start with _ so they don't pin
# memory around unnecessarily for the duration of the test
@@ -274,3 +294,12 @@ class TimeOverride(fixtures.Fixture):
super(TimeOverride, self).setUp()
timeutils.set_time_override()
self.addCleanup(timeutils.clear_time_override)
+
+
+class NoDBTestCase(TestCase):
+ """
+ `NoDBTestCase` differs from TestCase in that DB access is not supported.
+ This makes tests run significantly faster. If possible, all new tests
+ should derive from this class.
+ """
+ USES_DB = False
diff --git a/nova/tests/api/ec2/test_api.py b/nova/tests/api/ec2/test_api.py
index 3c3ac6c6c..97d9a9279 100644
--- a/nova/tests/api/ec2/test_api.py
+++ b/nova/tests/api/ec2/test_api.py
@@ -276,7 +276,8 @@ class ApiEc2TestCase(test.TestCase):
def test_describe_instances(self):
"""Test that, after creating a user and a project, the describe
- instances call to the API works properly"""
+ instances call to the API works properly.
+ """
self.expect_http()
self.mox.ReplayAll()
self.assertEqual(self.ec2.get_all_instances(), [])
@@ -290,7 +291,8 @@ class ApiEc2TestCase(test.TestCase):
def test_get_all_key_pairs(self):
"""Test that, after creating a user and project and generating
- a key pair, that the API call to list key pairs works properly"""
+ a key pair, that the API call to list key pairs works properly.
+ """
keyname = "".join(random.choice("sdiuisudfsdcnpaqwertasd")
for x in range(random.randint(4, 8)))
self.expect_http()
@@ -302,7 +304,8 @@ class ApiEc2TestCase(test.TestCase):
def test_create_duplicate_key_pair(self):
"""Test that, after successfully generating a keypair,
- requesting a second keypair with the same name fails sanely"""
+ requesting a second keypair with the same name fails sanely.
+ """
self.expect_http()
self.mox.ReplayAll()
self.ec2.create_key_pair('test')
@@ -351,10 +354,11 @@ class ApiEc2TestCase(test.TestCase):
def test_group_name_valid_chars_security_group(self):
"""Test that we sanely handle invalid security group names.
+
EC2 API Spec states we should only accept alphanumeric characters,
spaces, dashes, and underscores. Amazon implementation
- accepts more characters - so, [:print:] is ok. """
-
+ accepts more characters - so, [:print:] is ok.
+ """
bad_strict_ec2 = "aa \t\x01\x02\x7f"
bad_amazon_ec2 = "aa #^% -=99"
test_raise = [
@@ -385,7 +389,9 @@ class ApiEc2TestCase(test.TestCase):
def test_group_name_valid_length_security_group(self):
"""Test that we sanely handle invalid security group names.
- API Spec states that the length should not exceed 255 chars """
+
+ API Spec states that the length should not exceed 255 char.
+ """
self.expect_http()
self.mox.ReplayAll()
diff --git a/nova/tests/api/ec2/test_cinder_cloud.py b/nova/tests/api/ec2/test_cinder_cloud.py
index a307eaa2f..e22796252 100644
--- a/nova/tests/api/ec2/test_cinder_cloud.py
+++ b/nova/tests/api/ec2/test_cinder_cloud.py
@@ -41,7 +41,7 @@ from nova import volume
CONF = cfg.CONF
CONF.import_opt('compute_driver', 'nova.virt.driver')
-CONF.import_opt('default_instance_type', 'nova.compute.flavors')
+CONF.import_opt('default_flavor', 'nova.compute.flavors')
CONF.import_opt('use_ipv6', 'nova.netconf')
@@ -415,8 +415,8 @@ class CinderCloudTestCase(test.TestCase):
def _setUpBlockDeviceMapping(self):
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
inst1 = db.instance_create(self.context,
{'image_ref': image_uuid,
'instance_type_id': 1,
@@ -601,8 +601,8 @@ class CinderCloudTestCase(test.TestCase):
{'device': 'sdc3', 'virtual': 'swap'},
{'device': 'sdc4', 'virtual': 'swap'}]
block_device_mapping1 = [
- {'device_name': '/dev/sdb1', 'snapshot_id': 01234567},
- {'device_name': '/dev/sdb2', 'volume_id': 01234567},
+ {'device_name': '/dev/sdb1', 'snapshot_id': 1234567},
+ {'device_name': '/dev/sdb2', 'volume_id': 1234567},
{'device_name': '/dev/sdb3', 'virtual_name': 'ephemeral5'},
{'device_name': '/dev/sdb4', 'no_device': True},
@@ -625,7 +625,7 @@ class CinderCloudTestCase(test.TestCase):
mappings2 = [{'device': '/dev/sda1', 'virtual': 'root'}]
block_device_mapping2 = [{'device_name': '/dev/sdb1',
- 'snapshot_id': 01234567}]
+ 'snapshot_id': 1234567}]
image2 = {
'id': '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6',
'name': 'fake_name',
@@ -758,7 +758,7 @@ class CinderCloudTestCase(test.TestCase):
self._restart_compute_service(periodic_interval_max=0.3)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1,
'block_device_mapping': [{'device_name': '/dev/sdb',
'volume_id': vol1_uuid,
@@ -840,7 +840,7 @@ class CinderCloudTestCase(test.TestCase):
# enforce periodic tasks run in short time to avoid wait for 60s.
self._restart_compute_service(periodic_interval_max=0.3)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1,
'block_device_mapping': [{'device_name': '/dev/sdb',
'volume_id': vol1_uuid,
@@ -921,7 +921,7 @@ class CinderCloudTestCase(test.TestCase):
snap2_uuid = ec2utils.ec2_snap_id_to_uuid(snap2['snapshotId'])
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1,
'block_device_mapping': [{'device_name': '/dev/vdb',
'snapshot_id': snap1_uuid,
@@ -981,7 +981,7 @@ class CinderCloudTestCase(test.TestCase):
create_volumes_and_snapshots=True)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
ec2_instance_id = self._run_instance(**kwargs)
diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py
index 22f9c2d81..22a6947f2 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)
@@ -59,7 +60,7 @@ from nova import volume
CONF = cfg.CONF
CONF.import_opt('compute_driver', 'nova.virt.driver')
-CONF.import_opt('default_instance_type', 'nova.compute.flavors')
+CONF.import_opt('default_flavor', 'nova.compute.flavors')
CONF.import_opt('use_ipv6', 'nova.netconf')
LOG = logging.getLogger(__name__)
@@ -765,8 +766,8 @@ class CloudTestCase(test.TestCase):
self._stub_instance_get_with_fixed_ips('get')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
inst1 = db.instance_create(self.context, {'reservation_id': 'a',
'image_ref': image_uuid,
'instance_type_id': 1,
@@ -871,8 +872,8 @@ class CloudTestCase(test.TestCase):
fake_change_instance_metadata)
# Create some test images
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
inst1_kwargs = {
'reservation_id': 'a',
@@ -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
@@ -1043,8 +1046,8 @@ class CloudTestCase(test.TestCase):
self._stub_instance_get_with_fixed_ips('get')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
inst_base = {
'reservation_id': 'a',
'image_ref': image_uuid,
@@ -1098,8 +1101,8 @@ class CloudTestCase(test.TestCase):
def test_instance_state(expected_code, expected_name,
power_state_, vm_state_, values=None):
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
values = values or {}
values.update({'image_ref': image_uuid, 'instance_type_id': 1,
'power_state': power_state_, 'vm_state': vm_state_,
@@ -1133,8 +1136,8 @@ class CloudTestCase(test.TestCase):
self._stub_instance_get_with_fixed_ips('get')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
inst1 = db.instance_create(self.context, {'reservation_id': 'a',
'image_ref': image_uuid,
'instance_type_id': 1,
@@ -1160,8 +1163,8 @@ class CloudTestCase(test.TestCase):
def test_describe_instances_deleted(self):
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
args1 = {'reservation_id': 'a',
'image_ref': image_uuid,
'instance_type_id': 1,
@@ -1185,8 +1188,8 @@ class CloudTestCase(test.TestCase):
def test_describe_instances_with_image_deleted(self):
image_uuid = 'aebef54a-ed67-4d10-912f-14455edce176'
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type(1))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor(1))
args1 = {'reservation_id': 'a',
'image_ref': image_uuid,
'instance_type_id': 1,
@@ -1619,7 +1622,7 @@ class CloudTestCase(test.TestCase):
def test_get_password_data(self):
instance_id = self._run_instance(
image_id='ami-1',
- instance_type=CONF.default_instance_type,
+ instance_type=CONF.default_flavor,
max_count=1)
self.stubs.Set(password, 'extract_password', lambda i: 'fakepass')
output = self.cloud.get_password_data(context=self.context,
@@ -1630,7 +1633,7 @@ class CloudTestCase(test.TestCase):
def test_console_output(self):
instance_id = self._run_instance(
image_id='ami-1',
- instance_type=CONF.default_instance_type,
+ instance_type=CONF.default_flavor,
max_count=1)
output = self.cloud.get_console_output(context=self.context,
instance_id=[instance_id])
@@ -1743,7 +1746,7 @@ class CloudTestCase(test.TestCase):
def test_run_instances(self):
kwargs = {'image_id': 'ami-00000001',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
run_instances = self.cloud.run_instances
@@ -1775,7 +1778,7 @@ class CloudTestCase(test.TestCase):
def test_run_instances_availability_zone(self):
kwargs = {'image_id': 'ami-00000001',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1,
'placement': {'availability_zone': 'fake'},
}
@@ -1811,7 +1814,7 @@ class CloudTestCase(test.TestCase):
def test_run_instances_image_state_none(self):
kwargs = {'image_id': 'ami-00000001',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
run_instances = self.cloud.run_instances
@@ -1830,7 +1833,7 @@ class CloudTestCase(test.TestCase):
def test_run_instances_image_state_invalid(self):
kwargs = {'image_id': 'ami-00000001',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
run_instances = self.cloud.run_instances
@@ -1851,7 +1854,7 @@ class CloudTestCase(test.TestCase):
def test_run_instances_image_status_active(self):
kwargs = {'image_id': 'ami-00000001',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
run_instances = self.cloud.run_instances
@@ -1890,7 +1893,7 @@ class CloudTestCase(test.TestCase):
self._restart_compute_service(periodic_interval_max=0.3)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -1919,7 +1922,7 @@ class CloudTestCase(test.TestCase):
def test_start_instances(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -1941,7 +1944,7 @@ class CloudTestCase(test.TestCase):
def test_stop_instances(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -1960,7 +1963,7 @@ class CloudTestCase(test.TestCase):
def test_terminate_instances(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -1981,7 +1984,7 @@ class CloudTestCase(test.TestCase):
def test_terminate_instances_invalid_instance_id(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -1992,7 +1995,7 @@ class CloudTestCase(test.TestCase):
def test_terminate_instances_disable_terminate(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -2025,7 +2028,7 @@ class CloudTestCase(test.TestCase):
def test_terminate_instances_two_instances(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
inst1 = self._run_instance(**kwargs)
inst2 = self._run_instance(**kwargs)
@@ -2050,7 +2053,7 @@ class CloudTestCase(test.TestCase):
def test_reboot_instances(self):
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1, }
instance_id = self._run_instance(**kwargs)
@@ -2096,7 +2099,7 @@ class CloudTestCase(test.TestCase):
create_volumes_and_snapshots=True)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
ec2_instance_id = self._run_instance(**kwargs)
@@ -2119,9 +2122,10 @@ class CloudTestCase(test.TestCase):
def fake_block_device_mapping_get_all_by_instance(context, inst_id):
return [dict(id=1,
+ source_type='snapshot',
+ destination_type='volume',
snapshot_id=snapshots[0],
volume_id=volumes[0],
- virtual_name=None,
volume_size=1,
device_name='sda1',
delete_on_termination=False,
@@ -2185,7 +2189,7 @@ class CloudTestCase(test.TestCase):
create_volumes_and_snapshots=True)
kwargs = {'image_id': 'ami-1',
- 'instance_type': CONF.default_instance_type,
+ 'instance_type': CONF.default_flavor,
'max_count': 1}
ec2_instance_id = self._run_instance(**kwargs)
@@ -2210,45 +2214,54 @@ class CloudTestCase(test.TestCase):
@staticmethod
def _fake_bdm_get(ctxt, id):
return [{'volume_id': 87654321,
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
'snapshot_id': None,
'no_device': None,
- 'virtual_name': None,
'delete_on_termination': True,
'device_name': '/dev/sdh'},
{'volume_id': None,
'snapshot_id': 98765432,
+ 'source_type': 'snapshot',
+ 'destination_type': 'volume',
'no_device': None,
- 'virtual_name': None,
'delete_on_termination': True,
'device_name': '/dev/sdi'},
{'volume_id': None,
'snapshot_id': None,
'no_device': True,
- 'virtual_name': None,
'delete_on_termination': None,
'device_name': None},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'ephemeral0',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': None,
'delete_on_termination': None,
'device_name': '/dev/sdb'},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'swap',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': 'swap',
'delete_on_termination': None,
'device_name': '/dev/sdc'},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'ephemeral1',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': None,
'delete_on_termination': None,
'device_name': '/dev/sdd'},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'ephemeral2',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': None,
'delete_on_termination': None,
'device_name': '/dev/sd3'},
]
@@ -2259,9 +2272,9 @@ class CloudTestCase(test.TestCase):
self._fake_bdm_get)
def fake_get(ctxt, instance_id):
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['name'] = 'fake_type'
- sys_meta = flavors.save_instance_type_info({}, inst_type)
+ sys_meta = flavors.save_flavor_info({}, inst_type)
sys_meta = utils.dict_to_metadata(sys_meta)
return {
'id': 0,
@@ -2336,8 +2349,9 @@ class CloudTestCase(test.TestCase):
def test_instance_initiated_shutdown_behavior(self):
def test_dia_iisb(expected_result, **kwargs):
"""test describe_instance_attribute
- attribute instance_initiated_shutdown_behavior"""
- kwargs.update({'instance_type': CONF.default_instance_type,
+ attribute instance_initiated_shutdown_behavior
+ """
+ kwargs.update({'instance_type': CONF.default_flavor,
'max_count': 1})
instance_id = self._run_instance(**kwargs)
@@ -2431,6 +2445,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)
}
@@ -2481,6 +2496,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)
}
@@ -2490,6 +2506,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 b9066a975..2ccb9fa31 100644
--- a/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
+++ b/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
@@ -56,7 +56,7 @@ def fake_service_get_all(context, disabled=None):
datetime.datetime(2012, 12, 26, 14, 45, 25, 0),
"fake_host-1", False),
__fake_service("nova-sched", "internal",
- datetime.datetime(2012, 11, 14, 9, 57, 03, 0),
+ datetime.datetime(2012, 11, 14, 9, 57, 3, 0),
datetime.datetime(2012, 12, 26, 14, 45, 25, 0),
"fake_host-1", False),
__fake_service("nova-network", "internal",
diff --git a/nova/tests/api/openstack/compute/contrib/test_config_drive.py b/nova/tests/api/openstack/compute/contrib/test_config_drive.py
index 235b9373b..357350b9f 100644
--- a/nova/tests/api/openstack/compute/contrib/test_config_drive.py
+++ b/nova/tests/api/openstack/compute/contrib/test_config_drive.py
@@ -47,10 +47,11 @@ class ConfigDriveTest(test.TestCase):
self.assertTrue('config_drive' in res_dict['server'])
def test_detail_servers(self):
- self.stubs.Set(db, 'instance_get',
- fakes.fake_instance_get())
+ self.stubs.Set(db, 'instance_get_all_by_filters',
+ fakes.fake_instance_get_all_by_filters())
req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
res = req.get_response(fakes.wsgi_app(init_only=('servers,')))
server_dicts = jsonutils.loads(res.body)['servers']
+ self.assertNotEqual(len(server_dicts), 0)
for server_dict in server_dicts:
- self.asserTrue('config_drive' in server_dict)
+ self.assertTrue('config_drive' in server_dict)
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_flavor_access.py b/nova/tests/api/openstack/compute/contrib/test_flavor_access.py
index 6bae7882f..d072e0784 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_access.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_access.py
@@ -27,7 +27,7 @@ from nova import test
from nova.tests.api.openstack import fakes
-def generate_instance_type(flavorid, ispublic):
+def generate_flavor(flavorid, ispublic):
return {
'id': flavorid,
'flavorid': str(flavorid),
@@ -49,10 +49,10 @@ def generate_instance_type(flavorid, ispublic):
INSTANCE_TYPES = {
- '0': generate_instance_type(0, True),
- '1': generate_instance_type(1, True),
- '2': generate_instance_type(2, False),
- '3': generate_instance_type(3, False)}
+ '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'},
@@ -60,7 +60,7 @@ ACCESS_LIST = [{'flavor_id': '2', 'project_id': 'proj2'},
{'flavor_id': '3', 'project_id': 'proj3'}]
-def fake_get_instance_type_access_by_flavor_id(flavorid):
+def fake_get_flavor_access_by_flavor_id(flavorid):
res = []
for access in ACCESS_LIST:
if access['flavor_id'] == flavorid:
@@ -68,7 +68,7 @@ def fake_get_instance_type_access_by_flavor_id(flavorid):
return res
-def fake_get_instance_type_by_flavor_id(flavorid):
+def fake_get_flavor_by_flavor_id(flavorid):
return INSTANCE_TYPES[flavorid]
@@ -80,7 +80,7 @@ def _has_flavor_access(flavorid, projectid):
return False
-def fake_get_all_types(context, inactive=0, filters=None):
+def fake_get_all_flavors(context, inactive=0, filters=None):
if filters == None or filters['is_public'] == None:
return INSTANCE_TYPES
@@ -121,11 +121,11 @@ class FlavorAccessTest(test.TestCase):
self.flavor_action_controller = flavor_access.FlavorActionController()
self.req = FakeRequest()
self.context = self.req.environ['nova.context']
- self.stubs.Set(flavors, 'get_instance_type_by_flavor_id',
- fake_get_instance_type_by_flavor_id)
- self.stubs.Set(flavors, 'get_all_types', fake_get_all_types)
- self.stubs.Set(flavors, 'get_instance_type_access_by_flavor_id',
- fake_get_instance_type_access_by_flavor_id)
+ 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
@@ -246,11 +246,11 @@ class FlavorAccessTest(test.TestCase):
resp.obj['flavor'])
def test_add_tenant_access(self):
- def stub_add_instance_type_access(flavorid, projectid, ctxt=None):
+ def stub_add_flavor_access(flavorid, projectid, ctxt=None):
self.assertEqual('3', flavorid, "flavorid")
self.assertEqual("proj2", projectid, "projectid")
- self.stubs.Set(flavors, 'add_instance_type_access',
- stub_add_instance_type_access)
+ self.stubs.Set(flavors, 'add_flavor_access',
+ stub_add_flavor_access)
expected = {'flavor_access':
[{'flavor_id': '3', 'tenant_id': 'proj3'}]}
body = {'addTenantAccess': {'tenant': 'proj2'}}
@@ -261,11 +261,11 @@ class FlavorAccessTest(test.TestCase):
self.assertEqual(result, expected)
def test_add_tenant_access_with_already_added_access(self):
- def stub_add_instance_type_access(flavorid, projectid, ctxt=None):
+ def stub_add_flavor_access(flavorid, projectid, ctxt=None):
raise exception.FlavorAccessExists(flavor_id=flavorid,
project_id=projectid)
- self.stubs.Set(flavors, 'add_instance_type_access',
- stub_add_instance_type_access)
+ self.stubs.Set(flavors, 'add_flavor_access',
+ stub_add_flavor_access)
body = {'addTenantAccess': {'tenant': 'proj2'}}
req = fakes.HTTPRequest.blank('/v2/fake/flavors/2/action',
use_admin_context=True)
@@ -274,11 +274,11 @@ class FlavorAccessTest(test.TestCase):
self.req, '3', body)
def test_remove_tenant_access_with_bad_access(self):
- def stub_remove_instance_type_access(flavorid, projectid, ctxt=None):
+ def stub_remove_flavor_access(flavorid, projectid, ctxt=None):
raise exception.FlavorAccessNotFound(flavor_id=flavorid,
project_id=projectid)
- self.stubs.Set(flavors, 'remove_instance_type_access',
- stub_remove_instance_type_access)
+ self.stubs.Set(flavors, 'remove_flavor_access',
+ stub_remove_flavor_access)
body = {'removeTenantAccess': {'tenant': 'proj2'}}
req = fakes.HTTPRequest.blank('/v2/fake/flavors/2/action',
use_admin_context=True)
diff --git a/nova/tests/api/openstack/compute/contrib/test_flavor_disabled.py b/nova/tests/api/openstack/compute/contrib/test_flavor_disabled.py
index 8a8660a67..e46e02a44 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_disabled.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_disabled.py
@@ -39,11 +39,11 @@ FAKE_FLAVORS = {
}
-def fake_instance_type_get_by_flavor_id(flavorid):
+def fake_flavor_get_by_flavor_id(flavorid):
return FAKE_FLAVORS['flavor %s' % flavorid]
-def fake_instance_type_get_all(*args, **kwargs):
+def fake_flavor_get_all(*args, **kwargs):
return FAKE_FLAVORS
@@ -57,11 +57,11 @@ class FlavorDisabledTest(test.TestCase):
'.flavor_disabled.Flavor_disabled')
self.flags(osapi_compute_extension=[ext])
fakes.stub_out_nw_api(self.stubs)
- self.stubs.Set(flavors, "get_all_types",
- fake_instance_type_get_all)
+ self.stubs.Set(flavors, "get_all_flavors",
+ fake_flavor_get_all)
self.stubs.Set(flavors,
- "get_instance_type_by_flavor_id",
- fake_instance_type_get_by_flavor_id)
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
def _make_request(self, url):
req = webob.Request.blank(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 2ca02cafa..df2c3d392 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py
@@ -25,7 +25,7 @@ from nova import test
from nova.tests.api.openstack import fakes
-def fake_get_instance_type_by_flavor_id(flavorid, read_deleted='yes'):
+def fake_get_flavor_by_flavor_id(flavorid, read_deleted='yes'):
if flavorid == 'failtest':
raise exception.NotFound("Not found sucka!")
elif not str(flavorid) == '1234':
@@ -62,7 +62,7 @@ def fake_create(name, memory_mb, vcpus, root_gb, ephemeral_gb,
flavorid, swap, rxtx_factor, is_public):
if flavorid is None:
flavorid = 1234
- newflavor = fake_get_instance_type_by_flavor_id(flavorid,
+ newflavor = fake_get_flavor_by_flavor_id(flavorid,
read_deleted="no")
newflavor["name"] = name
@@ -81,8 +81,8 @@ class FlavorManageTest(test.TestCase):
def setUp(self):
super(FlavorManageTest, self).setUp()
self.stubs.Set(flavors,
- "get_instance_type_by_flavor_id",
- fake_get_instance_type_by_flavor_id)
+ "get_flavor_by_flavor_id",
+ fake_get_flavor_by_flavor_id)
self.stubs.Set(flavors, "destroy", fake_destroy)
self.stubs.Set(flavors, "create", fake_create)
self.flags(
@@ -191,7 +191,7 @@ class FlavorManageTest(test.TestCase):
for key in expected["flavor"]:
self.assertEquals(body["flavor"][key], expected["flavor"][key])
- def test_instance_type_exists_exception_returns_409(self):
+ def test_flavor_exists_exception_returns_409(self):
expected = {
"flavor": {
"name": "test",
diff --git a/nova/tests/api/openstack/compute/contrib/test_flavor_rxtx.py b/nova/tests/api/openstack/compute/contrib/test_flavor_rxtx.py
index 965d0e1bb..5843a60a1 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_rxtx.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_rxtx.py
@@ -38,11 +38,11 @@ FAKE_FLAVORS = {
}
-def fake_instance_type_get_by_flavor_id(flavorid):
+def fake_flavor_get_by_flavor_id(flavorid):
return FAKE_FLAVORS['flavor %s' % flavorid]
-def fake_instance_type_get_all(*args, **kwargs):
+def fake_flavor_get_all(*args, **kwargs):
return FAKE_FLAVORS
@@ -56,11 +56,11 @@ class FlavorRxtxTest(test.TestCase):
'.flavor_rxtx.Flavor_rxtx')
self.flags(osapi_compute_extension=[ext])
fakes.stub_out_nw_api(self.stubs)
- self.stubs.Set(flavors, "get_all_types",
- fake_instance_type_get_all)
+ self.stubs.Set(flavors, "get_all_flavors",
+ fake_flavor_get_all)
self.stubs.Set(flavors,
- "get_instance_type_by_flavor_id",
- fake_instance_type_get_by_flavor_id)
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
def _make_request(self, url):
req = webob.Request.blank(url)
diff --git a/nova/tests/api/openstack/compute/contrib/test_flavor_swap.py b/nova/tests/api/openstack/compute/contrib/test_flavor_swap.py
index ea3ab6e34..fd154479d 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_swap.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_swap.py
@@ -38,11 +38,12 @@ FAKE_FLAVORS = {
}
-def fake_instance_type_get_by_flavor_id(flavorid):
+#TOD(jogo) dedup these accross nova.api.openstack.contrib.test_flavor*
+def fake_flavor_get_by_flavor_id(flavorid):
return FAKE_FLAVORS['flavor %s' % flavorid]
-def fake_instance_type_get_all(*args, **kwargs):
+def fake_flavor_get_all(*args, **kwargs):
return FAKE_FLAVORS
@@ -56,11 +57,11 @@ class FlavorSwapTest(test.TestCase):
'.flavor_swap.Flavor_swap')
self.flags(osapi_compute_extension=[ext])
fakes.stub_out_nw_api(self.stubs)
- self.stubs.Set(flavors, "get_all_types",
- fake_instance_type_get_all)
+ self.stubs.Set(flavors, "get_all_flavors",
+ fake_flavor_get_all)
self.stubs.Set(flavors,
- "get_instance_type_by_flavor_id",
- fake_instance_type_get_by_flavor_id)
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
def _make_request(self, url):
req = webob.Request.blank(url)
diff --git a/nova/tests/api/openstack/compute/contrib/test_flavorextradata.py b/nova/tests/api/openstack/compute/contrib/test_flavorextradata.py
index f45f98bbc..ec0d68b04 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavorextradata.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavorextradata.py
@@ -23,7 +23,7 @@ from nova import test
from nova.tests.api.openstack import fakes
-def fake_get_instance_type_by_flavor_id(flavorid):
+def fake_get_flavor_by_flavor_id(flavorid):
return {
'id': flavorid,
'flavorid': str(flavorid),
@@ -41,10 +41,10 @@ def fake_get_instance_type_by_flavor_id(flavorid):
}
-def fake_get_all_types(inactive=0, filters=None):
+def fake_get_all_flavors(inactive=0, filters=None):
return {
- 'fake1': fake_get_instance_type_by_flavor_id(1),
- 'fake2': fake_get_instance_type_by_flavor_id(2)
+ 'fake1': fake_get_flavor_by_flavor_id(1),
+ 'fake2': fake_get_flavor_by_flavor_id(2)
}
@@ -54,9 +54,9 @@ class FlavorextradataTest(test.TestCase):
ext = ('nova.api.openstack.compute.contrib'
'.flavorextradata.Flavorextradata')
self.flags(osapi_compute_extension=[ext])
- self.stubs.Set(flavors, 'get_instance_type_by_flavor_id',
- fake_get_instance_type_by_flavor_id)
- self.stubs.Set(flavors, 'get_all_types', fake_get_all_types)
+ 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)
def _verify_flavor_response(self, flavor, expected):
for key in expected:
diff --git a/nova/tests/api/openstack/compute/contrib/test_keypairs.py b/nova/tests/api/openstack/compute/contrib/test_keypairs.py
index e338cad69..56b9fe84b 100644
--- a/nova/tests/api/openstack/compute/contrib/test_keypairs.py
+++ b/nova/tests/api/openstack/compute/contrib/test_keypairs.py
@@ -100,8 +100,12 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ 'Keypair name must be between 1 and 255 characters long',
+ res_dict['badRequest']['message'])
- def test_keypair_create_with_invalid_name(self):
+ def test_keypair_create_with_name_too_long(self):
body = {
'keypair': {
'name': 'a' * 256
@@ -113,6 +117,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ 'Keypair name must be between 1 and 255 characters long',
+ res_dict['badRequest']['message'])
def test_keypair_create_with_non_alphanumeric_name(self):
body = {
@@ -127,6 +135,10 @@ class KeypairsTest(test.TestCase):
res = req.get_response(self.app)
res_dict = jsonutils.loads(res.body)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Keypair name contains unsafe characters",
+ res_dict['badRequest']['message'])
def test_keypair_import(self):
body = {
@@ -183,6 +195,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 413)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Quota exceeded, too many key pairs.",
+ res_dict['overLimit']['message'])
def test_keypair_create_quota_limit(self):
@@ -203,6 +219,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 413)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Quota exceeded, too many key pairs.",
+ res_dict['overLimit']['message'])
def test_keypair_create_duplicate(self):
self.stubs.Set(db, "key_pair_create", db_key_pair_create_duplicate)
@@ -213,6 +233,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 409)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Key pair 'create_duplicate' already exists.",
+ res_dict['conflictingRequest']['message'])
def test_keypair_import_bad_key(self):
body = {
@@ -229,6 +253,10 @@ class KeypairsTest(test.TestCase):
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual("Keypair data is invalid",
+ res_dict['badRequest']['message'])
+
def test_keypair_delete(self):
req = webob.Request.blank('/v2/fake/os-keypairs/FAKE')
req.method = 'DELETE'
@@ -305,7 +333,7 @@ class KeypairsTest(test.TestCase):
self.assertTrue('key_name' in server_dict)
self.assertEquals(server_dict['key_name'], '')
- def test_keypair_create_with_invalid_keypairBody(self):
+ def test_keypair_create_with_invalid_keypair_body(self):
body = {'alpha': {'name': 'create_test'}}
req = webob.Request.blank('/v1.1/fake/os-keypairs')
req.method = 'POST'
diff --git a/nova/tests/api/openstack/compute/contrib/test_quantum_security_groups.py b/nova/tests/api/openstack/compute/contrib/test_quantum_security_groups.py
index 7201ad954..01ee72a64 100644
--- a/nova/tests/api/openstack/compute/contrib/test_quantum_security_groups.py
+++ b/nova/tests/api/openstack/compute/contrib/test_quantum_security_groups.py
@@ -203,6 +203,37 @@ class TestQuantumSecurityGroups(
req = fakes.HTTPRequest.blank('/v2/fake/servers/1/action')
self.manager._addSecurityGroup(req, '1', body)
+ def test_associate_port_security_enabled_true(self):
+ sg = self._create_sg_template().get('security_group')
+ net = self._create_network()
+ self._create_port(
+ network_id=net['network']['id'], security_groups=[sg['id']],
+ port_security_enabled=True,
+ device_id=test_security_groups.FAKE_UUID1)
+
+ self.stubs.Set(nova.db, 'instance_get',
+ test_security_groups.return_server)
+ body = dict(addSecurityGroup=dict(name="test"))
+
+ req = fakes.HTTPRequest.blank('/v2/fake/servers/1/action')
+ self.manager._addSecurityGroup(req, '1', body)
+
+ def test_associate_port_security_enabled_false(self):
+ self._create_sg_template().get('security_group')
+ net = self._create_network()
+ self._create_port(
+ network_id=net['network']['id'], port_security_enabled=False,
+ device_id=test_security_groups.FAKE_UUID1)
+
+ self.stubs.Set(nova.db, 'instance_get',
+ test_security_groups.return_server)
+ body = dict(addSecurityGroup=dict(name="test"))
+
+ req = fakes.HTTPRequest.blank('/v2/fake/servers/1/action')
+ self.assertRaises(webob.exc.HTTPBadRequest,
+ self.manager._addSecurityGroup,
+ req, '1', body)
+
def test_disassociate_by_non_existing_security_group_name(self):
self.stubs.Set(nova.db, 'instance_get',
test_security_groups.return_server)
@@ -281,6 +312,28 @@ class TestQuantumSecurityGroups(
context.get_admin_context(), test_security_groups.FAKE_UUID1)
self.assertEquals(sgs, expected)
+ def test_create_port_with_sg_and_port_security_enabled_true(self):
+ sg1 = self._create_sg_template(name='test1').get('security_group')
+ net = self._create_network()
+ self._create_port(
+ network_id=net['network']['id'], security_groups=[sg1['id']],
+ port_security_enabled=True,
+ device_id=test_security_groups.FAKE_UUID1)
+ security_group_api = self.controller.security_group_api
+ sgs = security_group_api.get_instance_security_groups(
+ context.get_admin_context(), test_security_groups.FAKE_UUID1)
+ self.assertEquals(sgs, [{'name': 'test1'}])
+
+ def test_create_port_with_sg_and_port_security_enabled_false(self):
+ sg1 = self._create_sg_template(name='test1').get('security_group')
+ net = self._create_network()
+ self.assertRaises(exception.SecurityGroupCannotBeApplied,
+ self._create_port,
+ network_id=net['network']['id'],
+ security_groups=[sg1['id']],
+ port_security_enabled=False,
+ device_id=test_security_groups.FAKE_UUID1)
+
class TestQuantumSecurityGroupRulesTestCase(TestQuantumSecurityGroupsTestCase):
def setUp(self):
@@ -570,8 +623,9 @@ class MockClient(object):
ret = {'status': 'ACTIVE', 'subnets': [], 'name': n.get('name'),
'admin_state_up': n.get('admin_state_up', True),
'tenant_id': 'fake_tenant',
- 'port_security_enabled': n.get('port_security_enabled', True),
'id': str(uuid.uuid4())}
+ if 'port_security_enabled' in n:
+ ret['port_security_enabled'] = n['port_security_enabled']
self._fake_networks[ret['id']] = ret
return {'network': ret}
@@ -594,21 +648,27 @@ class MockClient(object):
p = body.get('port')
ret = {'status': 'ACTIVE', 'id': str(uuid.uuid4()),
'mac_address': p.get('mac_address', 'fa:16:3e:b8:f5:fb'),
- 'port_security_enabled': p.get('port_security_enabled'),
'device_id': p.get('device_id', str(uuid.uuid4())),
- 'security_groups': p.get('security_groups', [])}
-
- fields = ['network_id', 'security_groups', 'admin_state_up']
- for field in fields:
- ret[field] = p.get(field)
+ 'admin_state_up': p.get('admin_state_up', True),
+ 'security_groups': p.get('security_groups', []),
+ 'network_id': p.get('network_id')}
network = self._fake_networks[p['network_id']]
- if not ret['port_security_enabled']:
+ if 'port_security_enabled' in p:
+ ret['port_security_enabled'] = p['port_security_enabled']
+ elif 'port_security_enabled' in network:
ret['port_security_enabled'] = network['port_security_enabled']
+
+ port_security = ret.get('port_security_enabled', True)
+ # port_security must be True if security groups are present
+ if not port_security and ret['security_groups']:
+ raise exception.SecurityGroupCannotBeApplied()
+
if network['subnets']:
ret['fixed_ips'] = [{'subnet_id': network['subnets'][0],
'ip_address': '10.0.0.1'}]
- if not ret['security_groups']:
+ if not ret['security_groups'] and (port_security is None or
+ port_security is True):
for security_group in self._fake_security_groups.values():
if security_group['name'] == 'default':
ret['security_groups'] = [security_group['id']]
diff --git a/nova/tests/api/openstack/compute/contrib/test_quotas.py b/nova/tests/api/openstack/compute/contrib/test_quotas.py
index 4fb337294..979ab3363 100644
--- a/nova/tests/api/openstack/compute/contrib/test_quotas.py
+++ b/nova/tests/api/openstack/compute/contrib/test_quotas.py
@@ -1,6 +1,7 @@
# 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
@@ -111,6 +112,8 @@ class QuotaSetsTest(test.TestCase):
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,
@@ -128,6 +131,8 @@ class QuotaSetsTest(test.TestCase):
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,
@@ -142,6 +147,8 @@ class QuotaSetsTest(test.TestCase):
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,
@@ -153,6 +160,8 @@ class QuotaSetsTest(test.TestCase):
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,
@@ -163,7 +172,7 @@ class QuotaSetsTest(test.TestCase):
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
req, 'update_me', body)
- def test_quotas_update_invalid_value(self):
+ def test_quotas_update_invalid_value_json_fromat_empty_string(self):
expected_resp = {'quota_set': {
'instances': 50, 'cores': 50,
'ram': 51200, 'floating_ips': 10,
@@ -187,9 +196,22 @@ class QuotaSetsTest(test.TestCase):
'key_pairs': 100}}
req = fakes.HTTPRequest.blank('/v2/fake4/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,
@@ -202,9 +224,29 @@ class QuotaSetsTest(test.TestCase):
'key_pairs': 100}}
req = fakes.HTTPRequest.blank('/v2/fake4/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.HTTPRequest.blank('/v2/fake4/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()
@@ -296,3 +338,62 @@ class QuotaXMLSerializerTest(test.TestCase):
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.HTTPRequest.blank('/v2/fake4/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.HTTPRequest.blank('/v2/fake4/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/contrib/test_security_groups.py b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
index 1406ed97a..f1433bd0a 100644
--- a/nova/tests/api/openstack/compute/contrib/test_security_groups.py
+++ b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
@@ -273,7 +273,7 @@ class TestSecurityGroups(test.TestCase):
self.assertEqual(res_dict['security_group']['name'], name)
sg = security_group_template()
- self.assertRaises(exception.SecurityGroupLimitExceeded,
+ self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.create,
req, {'security_group': sg})
@@ -354,8 +354,8 @@ class TestSecurityGroups(test.TestCase):
self.stubs.Set(nova.db, 'instance_get_by_uuid',
return_instance)
- def return_security_groups(context, instance_id):
- self.assertEquals(instance_id, 1)
+ def return_security_groups(context, instance_uuid):
+ self.assertEquals(instance_uuid, FAKE_UUID1)
return [security_group_db(sg) for sg in groups]
self.stubs.Set(nova.db, 'security_group_get_by_instance',
@@ -1139,7 +1139,7 @@ class TestSecurityGroupRules(test.TestCase):
'ip_protocol': 'tcp', 'from_port': '121', 'to_port': '121',
'parent_group_id': self.sg2['id'], 'group_id': self.sg1['id']
}
- self.assertRaises(exception.SecurityGroupLimitExceeded,
+ self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.create,
req, {'security_group_rule': rule})
diff --git a/nova/tests/api/openstack/compute/contrib/test_server_start_stop.py b/nova/tests/api/openstack/compute/contrib/test_server_start_stop.py
index eb708a574..05b83131c 100644
--- a/nova/tests/api/openstack/compute/contrib/test_server_start_stop.py
+++ b/nova/tests/api/openstack/compute/contrib/test_server_start_stop.py
@@ -17,13 +17,21 @@ import webob
from nova.api.openstack.compute.contrib import server_start_stop
from nova.compute import api as compute_api
+from nova import db
from nova import exception
from nova import test
from nova.tests.api.openstack import fakes
-def fake_compute_api_get(self, context, instance_id):
- return {'id': 1, 'uuid': instance_id}
+def fake_instance_get(self, context, instance_id):
+ result = fakes.stub_instance(id=1, uuid=instance_id)
+ result['created_at'] = None
+ result['deleted_at'] = None
+ result['updated_at'] = None
+ result['deleted'] = 0
+ result['info_cache'] = {'network_info': 'foo',
+ 'instance_uuid': result['uuid']}
+ return result
def fake_start_stop_not_ready(self, context, instance):
@@ -37,7 +45,7 @@ class ServerStartStopTest(test.TestCase):
self.controller = server_start_stop.ServerStartStopActionController()
def test_start(self):
- self.stubs.Set(compute_api.API, 'get', fake_compute_api_get)
+ self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
self.mox.StubOutWithMock(compute_api.API, 'start')
compute_api.API.start(mox.IgnoreArg(), mox.IgnoreArg())
self.mox.ReplayAll()
@@ -47,7 +55,7 @@ class ServerStartStopTest(test.TestCase):
self.controller._start_server(req, 'test_inst', body)
def test_start_not_ready(self):
- self.stubs.Set(compute_api.API, 'get', fake_compute_api_get)
+ self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
self.stubs.Set(compute_api.API, 'start', fake_start_stop_not_ready)
req = fakes.HTTPRequest.blank('/v2/fake/servers/test_inst/action')
body = dict(start="")
@@ -55,7 +63,7 @@ class ServerStartStopTest(test.TestCase):
self.controller._start_server, req, 'test_inst', body)
def test_stop(self):
- self.stubs.Set(compute_api.API, 'get', fake_compute_api_get)
+ self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
self.mox.StubOutWithMock(compute_api.API, 'stop')
compute_api.API.stop(mox.IgnoreArg(), mox.IgnoreArg())
self.mox.ReplayAll()
@@ -65,7 +73,7 @@ class ServerStartStopTest(test.TestCase):
self.controller._stop_server(req, 'test_inst', body)
def test_stop_not_ready(self):
- self.stubs.Set(compute_api.API, 'get', fake_compute_api_get)
+ self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
self.stubs.Set(compute_api.API, 'stop', fake_start_stop_not_ready)
req = fakes.HTTPRequest.blank('/v2/fake/servers/test_inst/action')
body = dict(start="")
diff --git a/nova/tests/api/openstack/compute/contrib/test_services.py b/nova/tests/api/openstack/compute/contrib/test_services.py
index 387a5eb21..c9d0c76e5 100644
--- a/nova/tests/api/openstack/compute/contrib/test_services.py
+++ b/nova/tests/api/openstack/compute/contrib/test_services.py
@@ -14,8 +14,10 @@
import datetime
+import webob.exc
from nova.api.openstack.compute.contrib import services
+from nova.api.openstack import extensions
from nova import availability_zones
from nova import context
from nova import db
@@ -33,28 +35,32 @@ fake_services_list = [
'disabled': True,
'topic': 'scheduler',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2),
- 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27)},
+ 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27),
+ 'disabled_reason': 'test1'},
{'binary': 'nova-compute',
'host': 'host1',
'id': 2,
'disabled': True,
'topic': 'compute',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
- 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27)},
+ 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27),
+ 'disabled_reason': 'test2'},
{'binary': 'nova-scheduler',
'host': 'host2',
'id': 3,
'disabled': False,
'topic': 'scheduler',
'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34),
- 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28)},
+ 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28),
+ 'disabled_reason': ''},
{'binary': 'nova-compute',
'host': 'host2',
'id': 4,
'disabled': True,
'topic': 'compute',
'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38),
- 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28)},
+ 'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28),
+ 'disabled_reason': 'test4'},
]
@@ -106,9 +112,6 @@ def fake_service_update(context, service_id, values):
service = fake_service_get_by_id(service_id)
if service is None:
raise exception.ServiceNotFound(service_id=service_id)
- else:
- {'host': 'host1', 'service': 'nova-compute',
- 'disabled': values['disabled']}
def fake_utcnow():
@@ -121,8 +124,9 @@ class ServicesTest(test.TestCase):
super(ServicesTest, self).setUp()
self.context = context.get_admin_context()
- self.controller = services.ServiceController()
-
+ self.ext_mgr = extensions.ExtensionManager()
+ self.ext_mgr.extensions = {}
+ self.controller = services.ServiceController(self.ext_mgr)
self.stubs.Set(self.controller.host_api, "service_get_all",
fake_host_api_service_get_all)
self.stubs.Set(timeutils, "utcnow", fake_utcnow)
@@ -134,21 +138,30 @@ class ServicesTest(test.TestCase):
req = FakeRequest()
res_dict = self.controller.index(req)
- response = {'services': [{'binary': 'nova-scheduler',
- 'host': 'host1', 'zone': 'internal',
- 'status': 'disabled', 'state': 'up',
+ response = {'services': [
+ {'binary': 'nova-scheduler',
+ 'host': 'host1',
+ 'zone': 'internal',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2)},
{'binary': 'nova-compute',
- 'host': 'host1', 'zone': 'nova',
- 'status': 'disabled', 'state': 'up',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5)},
- {'binary': 'nova-scheduler', 'host': 'host2',
+ {'binary': 'nova-scheduler',
+ 'host': 'host2',
'zone': 'internal',
- 'status': 'enabled', 'state': 'down',
+ 'status': 'enabled',
+ 'state': 'down',
'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34)},
- {'binary': 'nova-compute', 'host': 'host2',
+ {'binary': 'nova-compute',
+ 'host': 'host2',
'zone': 'nova',
- 'status': 'disabled', 'state': 'down',
+ 'status': 'disabled',
+ 'state': 'down',
'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38)}]}
self.assertEqual(res_dict, response)
@@ -156,13 +169,18 @@ class ServicesTest(test.TestCase):
req = FakeRequestWithHost()
res_dict = self.controller.index(req)
- response = {'services': [{'binary': 'nova-scheduler', 'host': 'host1',
+ response = {'services': [
+ {'binary': 'nova-scheduler',
+ 'host': 'host1',
'zone': 'internal',
- 'status': 'disabled', 'state': 'up',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2)},
- {'binary': 'nova-compute', 'host': 'host1',
+ {'binary': 'nova-compute',
+ 'host': 'host1',
'zone': 'nova',
- 'status': 'disabled', 'state': 'up',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5)}]}
self.assertEqual(res_dict, response)
@@ -170,13 +188,18 @@ class ServicesTest(test.TestCase):
req = FakeRequestWithService()
res_dict = self.controller.index(req)
- response = {'services': [{'binary': 'nova-compute', 'host': 'host1',
+ response = {'services': [
+ {'binary': 'nova-compute',
+ 'host': 'host1',
'zone': 'nova',
- 'status': 'disabled', 'state': 'up',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5)},
- {'binary': 'nova-compute', 'host': 'host2',
+ {'binary': 'nova-compute',
+ 'host': 'host2',
'zone': 'nova',
- 'status': 'disabled', 'state': 'down',
+ 'status': 'disabled',
+ 'state': 'down',
'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38)}]}
self.assertEqual(res_dict, response)
@@ -184,25 +207,125 @@ class ServicesTest(test.TestCase):
req = FakeRequestWithHostService()
res_dict = self.controller.index(req)
- response = {'services': [{'binary': 'nova-compute', 'host': 'host1',
+ response = {'services': [
+ {'binary': 'nova-compute',
+ 'host': 'host1',
'zone': 'nova',
- 'status': 'disabled', 'state': 'up',
+ 'status': 'disabled',
+ 'state': 'up',
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5)}]}
self.assertEqual(res_dict, response)
+ def test_services_detail(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ self.stubs.Set(self.controller.host_api, "service_get_all",
+ fake_host_api_service_get_all)
+ req = FakeRequest()
+ res_dict = self.controller.index(req)
+ response = {'services': [
+ {'binary': 'nova-scheduler',
+ 'host': 'host1',
+ 'zone': 'internal',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2),
+ 'disabled_reason': 'test1'},
+ {'binary': 'nova-compute',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
+ 'disabled_reason': 'test2'},
+ {'binary': 'nova-scheduler',
+ 'host': 'host2',
+ 'zone': 'internal',
+ 'status': 'enabled',
+ 'state': 'down',
+ 'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34),
+ 'disabled_reason': ''},
+ {'binary': 'nova-compute',
+ 'host': 'host2',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'down',
+ 'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38),
+ 'disabled_reason': 'test4'}]}
+ self.assertEqual(res_dict, response)
+
+ def test_service_detail_with_host(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ self.stubs.Set(self.controller.host_api, "service_get_all",
+ fake_host_api_service_get_all)
+ req = FakeRequestWithHost()
+ res_dict = self.controller.index(req)
+ response = {'services': [
+ {'binary': 'nova-scheduler',
+ 'host': 'host1',
+ 'zone': 'internal',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2),
+ 'disabled_reason': 'test1'},
+ {'binary': 'nova-compute',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
+ 'disabled_reason': 'test2'}]}
+ self.assertEqual(res_dict, response)
+
+ def test_service_detail_with_service(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ self.stubs.Set(self.controller.host_api, "service_get_all",
+ fake_host_api_service_get_all)
+ req = FakeRequestWithService()
+ res_dict = self.controller.index(req)
+ response = {'services': [
+ {'binary': 'nova-compute',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
+ 'disabled_reason': 'test2'},
+ {'binary': 'nova-compute',
+ 'host': 'host2',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'down',
+ 'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38),
+ 'disabled_reason': 'test4'}]}
+ self.assertEqual(res_dict, response)
+
+ def test_service_detail_with_host_service(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ self.stubs.Set(self.controller.host_api, "service_get_all",
+ fake_host_api_service_get_all)
+ req = FakeRequestWithHostService()
+ res_dict = self.controller.index(req)
+ response = {'services': [
+ {'binary': 'nova-compute',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up',
+ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
+ 'disabled_reason': 'test2'}]}
+ self.assertEqual(res_dict, response)
+
def test_services_enable(self):
body = {'host': 'host1', 'binary': 'nova-compute'}
req = fakes.HTTPRequest.blank('/v2/fake/os-services/enable')
res_dict = self.controller.update(req, "enable", body)
self.assertEqual(res_dict['service']['status'], 'enabled')
-
- def test_services_disable(self):
- req = fakes.HTTPRequest.blank('/v2/fake/os-services/disable')
- body = {'host': 'host1', 'binary': 'nova-compute'}
- res_dict = self.controller.update(req, "disable", body)
-
- self.assertEqual(res_dict['service']['status'], 'disabled')
+ self.assertFalse('disabled_reason' in res_dict['service'])
# This test is just to verify that the servicegroup API gets used when
# calling this API.
@@ -213,3 +336,44 @@ class ServicesTest(test.TestCase):
self.stubs.Set(db_driver.DbDriver, 'is_up', dummy_is_up)
req = FakeRequestWithHostService()
self.assertRaises(KeyError, self.controller.index, req)
+
+ def test_services_disable(self):
+ req = fakes.HTTPRequest.blank('/v2/fake/os-services/disable')
+ body = {'host': 'host1', 'binary': 'nova-compute'}
+ res_dict = self.controller.update(req, "disable", body)
+
+ self.assertEqual(res_dict['service']['status'], 'disabled')
+ self.assertFalse('disabled_reason' in res_dict['service'])
+
+ def test_services_disable_log_reason(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ req = \
+ fakes.HTTPRequest.blank('v2/fakes/os-services/disable-log-reason')
+ body = {'host': 'host1',
+ 'binary': 'nova-compute',
+ 'disabled_reason': 'test-reason',
+ }
+ res_dict = self.controller.update(req, "disable-log-reason", body)
+
+ self.assertEqual(res_dict['service']['status'], 'disabled')
+ self.assertEqual(res_dict['service']['disabled_reason'], 'test-reason')
+
+ def test_mandatory_reason_field(self):
+ self.ext_mgr.extensions['os-extended-services'] = True
+ self.controller = services.ServiceController(self.ext_mgr)
+ req = \
+ fakes.HTTPRequest.blank('v2/fakes/os-services/disable-log-reason')
+ body = {'host': 'host1',
+ 'binary': 'nova-compute',
+ }
+ self.assertRaises(webob.exc.HTTPUnprocessableEntity,
+ self.controller.update, req, "disable-log-reason", body)
+
+ def test_invalid_reason_field(self):
+ reason = ' '
+ self.assertFalse(self.controller._is_valid_as_reason(reason))
+ reason = 'a' * 256
+ self.assertFalse(self.controller._is_valid_as_reason(reason))
+ reason = 'it\'s a valid reason.'
+ self.assertTrue(self.controller._is_valid_as_reason(reason))
diff --git a/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py b/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
index 004a6716e..8c8242505 100644
--- a/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
+++ b/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
@@ -59,7 +59,7 @@ FAKE_INST_TYPE = {'id': 1,
def get_fake_db_instance(start, end, instance_id, tenant_id):
sys_meta = utils.dict_to_metadata(
- flavors.save_instance_type_info({}, FAKE_INST_TYPE))
+ flavors.save_flavor_info({}, FAKE_INST_TYPE))
return {'id': instance_id,
'uuid': '00000000-0000-0000-0000-00000000000000%02d' % instance_id,
'image_ref': '1',
@@ -415,7 +415,7 @@ class SimpleTenantUsageControllerTest(test.TestCase):
class FakeComputeAPI:
def get_instance_type(self, context, flavor_type):
if flavor_type == 1:
- return flavors.get_default_instance_type()
+ return flavors.get_default_flavor()
else:
raise exception.InstanceTypeNotFound(flavor_type)
@@ -429,11 +429,11 @@ class SimpleTenantUsageControllerTest(test.TestCase):
instance_type_id=1,
vm_state='deleted',
deleted=0)
- basetype = flavors.get_default_instance_type()
+ basetype = flavors.get_default_flavor()
sys_meta = utils.dict_to_metadata(
- flavors.save_instance_type_info({}, basetype))
+ flavors.save_flavor_info({}, basetype))
self.baseinst['system_metadata'] = sys_meta
- self.basetype = flavors.extract_instance_type(self.baseinst)
+ self.basetype = flavors.extract_flavor(self.baseinst)
def test_get_flavor_from_sys_meta(self):
# Non-deleted instances get their type information from their
@@ -458,7 +458,7 @@ class SimpleTenantUsageControllerTest(test.TestCase):
deleted=1)
flavor = self.controller._get_flavor(self.context, self.compute_api,
inst_without_sys_meta, {})
- self.assertEqual(flavor, flavors.get_default_instance_type())
+ self.assertEqual(flavor, flavors.get_default_flavor())
def test_get_flavor_from_deleted_with_id_of_deleted(self):
# Verify the legacy behavior of instance_type_id pointing to a
diff --git a/nova/tests/api/openstack/compute/contrib/test_used_limits.py b/nova/tests/api/openstack/compute/contrib/test_used_limits.py
index ebe3e852d..4f50916a7 100644
--- a/nova/tests/api/openstack/compute/contrib/test_used_limits.py
+++ b/nova/tests/api/openstack/compute/contrib/test_used_limits.py
@@ -17,8 +17,10 @@
from nova.api.openstack.compute.contrib import used_limits
from nova.api.openstack.compute import limits
+from nova.api.openstack import extensions
from nova.api.openstack import wsgi
import nova.context
+from nova import exception
from nova import quota
from nova import test
@@ -31,13 +33,15 @@ class FakeRequest(object):
class UsedLimitsTestCase(test.TestCase):
-
def setUp(self):
"""Run before each test."""
super(UsedLimitsTestCase, self).setUp()
- self.controller = used_limits.UsedLimitsController()
+ self.ext_mgr = self.mox.CreateMock(extensions.ExtensionManager)
+ self.controller = used_limits.UsedLimitsController(self.ext_mgr)
self.fake_context = nova.context.RequestContext('fake', 'fake')
+ self.mox.StubOutWithMock(used_limits, 'authorize_for_admin')
+ self.authorize_for_admin = used_limits.authorize_for_admin
def _do_test_used_limits(self, reserved):
fake_req = FakeRequest(self.fake_context, reserved=reserved)
@@ -63,8 +67,11 @@ class UsedLimitsTestCase(test.TestCase):
def stub_get_project_quotas(context, project_id, usages=True):
return limits
+
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(False)
+ self.mox.ReplayAll()
self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
@@ -79,6 +86,100 @@ class UsedLimitsTestCase(test.TestCase):
def test_used_limits_with_reserved(self):
self._do_test_used_limits(True)
+ def test_admin_can_fetch_limits_for_a_given_tenant_id(self):
+ project_id = "123456"
+ user_id = "A1234"
+ tenant_id = 'abcd'
+ self.fake_context.project_id = project_id
+ self.fake_context.user_id = user_id
+ obj = {
+ "limits": {
+ "rate": [],
+ "absolute": {},
+ },
+ }
+ target = {
+ "project_id": tenant_id,
+ "user_id": user_id
+ }
+ fake_req = FakeRequest(self.fake_context)
+ fake_req.GET = {'tenant_id': tenant_id}
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(True)
+ self.authorize_for_admin(self.fake_context, target=target)
+ self.mox.StubOutWithMock(quota.QUOTAS, 'get_project_quotas')
+ quota.QUOTAS.get_project_quotas(self.fake_context, '%s' % tenant_id,
+ usages=True).AndReturn({})
+ self.mox.ReplayAll()
+ res = wsgi.ResponseObject(obj)
+ self.controller.index(fake_req, res)
+
+ def test_admin_can_fetch_used_limits_for_own_project(self):
+ project_id = "123456"
+ user_id = "A1234"
+ self.fake_context.project_id = project_id
+ self.fake_context.user_id = user_id
+ obj = {
+ "limits": {
+ "rate": [],
+ "absolute": {},
+ },
+ }
+ fake_req = FakeRequest(self.fake_context)
+ fake_req.GET = {}
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(True)
+ self.mox.StubOutWithMock(extensions, 'extension_authorizer')
+ self.mox.StubOutWithMock(quota.QUOTAS, 'get_project_quotas')
+ quota.QUOTAS.get_project_quotas(self.fake_context, '%s' % project_id,
+ usages=True).AndReturn({})
+ self.mox.ReplayAll()
+ res = wsgi.ResponseObject(obj)
+ self.controller.index(fake_req, res)
+
+ def test_non_admin_cannot_fetch_used_limits_for_any_other_project(self):
+ project_id = "123456"
+ user_id = "A1234"
+ tenant_id = "abcd"
+ self.fake_context.project_id = project_id
+ self.fake_context.user_id = user_id
+ obj = {
+ "limits": {
+ "rate": [],
+ "absolute": {},
+ },
+ }
+ target = {
+ "project_id": tenant_id,
+ "user_id": user_id
+ }
+ fake_req = FakeRequest(self.fake_context)
+ fake_req.GET = {'tenant_id': tenant_id}
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(True)
+ self.authorize_for_admin(self.fake_context, target=target). \
+ AndRaise(exception.PolicyNotAuthorized(
+ action="compute_extension:used_limits_for_admin"))
+ self.mox.ReplayAll()
+ res = wsgi.ResponseObject(obj)
+ self.assertRaises(exception.PolicyNotAuthorized, self.controller.index,
+ fake_req, res)
+
+ def test_used_limits_fetched_for_context_project_id(self):
+ project_id = "123456"
+ self.fake_context.project_id = project_id
+ obj = {
+ "limits": {
+ "rate": [],
+ "absolute": {},
+ },
+ }
+ fake_req = FakeRequest(self.fake_context)
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(False)
+ self.mox.StubOutWithMock(quota.QUOTAS, 'get_project_quotas')
+ quota.QUOTAS.get_project_quotas(self.fake_context, project_id,
+ usages=True).AndReturn({})
+ self.mox.ReplayAll()
+ res = wsgi.ResponseObject(obj)
+ self.controller.index(fake_req, res)
+
def test_used_ram_added(self):
fake_req = FakeRequest(self.fake_context)
obj = {
@@ -86,15 +187,19 @@ class UsedLimitsTestCase(test.TestCase):
"rate": [],
"absolute": {
"maxTotalRAMSize": 512,
- },
+ },
},
}
res = wsgi.ResponseObject(obj)
def stub_get_project_quotas(context, project_id, usages=True):
return {'ram': {'limit': 512, 'in_use': 256}}
+
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(False)
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
+ self.mox.ReplayAll()
+
self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
self.assertTrue('totalRAMUsed' in abs_limits)
@@ -112,8 +217,12 @@ class UsedLimitsTestCase(test.TestCase):
def stub_get_project_quotas(context, project_id, usages=True):
return {}
+
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(False)
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
+ self.mox.ReplayAll()
+
self.controller.index(fake_req, res)
abs_limits = res.obj['limits']['absolute']
self.assertFalse('totalRAMUsed' in abs_limits)
@@ -131,8 +240,12 @@ class UsedLimitsTestCase(test.TestCase):
def stub_get_project_quotas(context, project_id, usages=True):
return {}
+
+ self.ext_mgr.is_loaded('os-used-limits-for-admin').AndReturn(False)
self.stubs.Set(quota.QUOTAS, "get_project_quotas",
stub_get_project_quotas)
+ self.mox.ReplayAll()
+
self.controller.index(fake_req, res)
response = res.serialize(None, 'xml')
self.assertTrue(used_limits.XMLNS in response.body)
diff --git a/nova/tests/api/openstack/compute/contrib/test_volumes.py b/nova/tests/api/openstack/compute/contrib/test_volumes.py
index 5e331f4f4..bdca7fdef 100644
--- a/nova/tests/api/openstack/compute/contrib/test_volumes.py
+++ b/nova/tests/api/openstack/compute/contrib/test_volumes.py
@@ -47,7 +47,7 @@ def fake_compute_api_create(cls, context, instance_type, image_href, **kwargs):
global _block_device_mapping_seen
_block_device_mapping_seen = kwargs.get('block_device_mapping')
- inst_type = flavors.get_instance_type_by_flavor_id(2)
+ inst_type = flavors.get_flavor_by_flavor_id(2)
resv_id = None
return ([{'id': 1,
'display_name': 'test_server',
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_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_keypairs.py b/nova/tests/api/openstack/compute/plugins/v3/test_keypairs.py
index 529c5eb71..bb74fdafc 100644
--- a/nova/tests/api/openstack/compute/plugins/v3/test_keypairs.py
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_keypairs.py
@@ -102,8 +102,12 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ 'Keypair name must be between 1 and 255 characters long',
+ res_dict['badRequest']['message'])
- def test_keypair_create_with_invalid_name(self):
+ def test_keypair_create_with_name_too_long(self):
body = {
'keypair': {
'name': 'a' * 256
@@ -115,6 +119,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ 'Keypair name must be between 1 and 255 characters long',
+ res_dict['badRequest']['message'])
def test_keypair_create_with_non_alphanumeric_name(self):
body = {
@@ -129,6 +137,10 @@ class KeypairsTest(test.TestCase):
res = req.get_response(self.app)
res_dict = jsonutils.loads(res.body)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Keypair name contains unsafe characters",
+ res_dict['badRequest']['message'])
def test_keypair_import(self):
body = {
@@ -185,6 +197,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 413)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Quota exceeded, too many key pairs.",
+ res_dict['overLimit']['message'])
def test_keypair_create_quota_limit(self):
@@ -205,6 +221,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 413)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Quota exceeded, too many key pairs.",
+ res_dict['overLimit']['message'])
def test_keypair_create_duplicate(self):
self.stubs.Set(db, "key_pair_create", db_key_pair_create_duplicate)
@@ -215,6 +235,10 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 409)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual(
+ "Key pair 'create_duplicate' already exists.",
+ res_dict['conflictingRequest']['message'])
def test_keypair_import_bad_key(self):
body = {
@@ -230,6 +254,9 @@ class KeypairsTest(test.TestCase):
req.headers['Content-Type'] = 'application/json'
res = req.get_response(self.app)
self.assertEqual(res.status_int, 400)
+ res_dict = jsonutils.loads(res.body)
+ self.assertEqual("Keypair data is invalid",
+ res_dict['badRequest']['message'])
def test_keypair_delete(self):
req = webob.Request.blank('/v3/os-keypairs/FAKE')
@@ -307,7 +334,7 @@ class KeypairsTest(test.TestCase):
self.assertTrue('key_name' in server_dict)
self.assertEquals(server_dict['key_name'], '')
- def test_keypair_create_with_invalid_keypairBody(self):
+ def test_keypair_create_with_invalid_keypair_body(self):
body = {'alpha': {'name': 'create_test'}}
req = webob.Request.blank('/v3/os-keypairs')
req.method = 'POST'
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 6c75ef5fe..da17d8fd5 100644
--- a/nova/tests/api/openstack/compute/plugins/v3/test_servers.py
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_servers.py
@@ -1779,7 +1779,7 @@ class ServersControllerCreateTest(test.TestCase):
self.controller = servers.ServersController(extension_info=ext_info)
def instance_create(context, inst):
- inst_type = flavors.get_instance_type_by_flavor_id(3)
+ inst_type = flavors.get_flavor_by_flavor_id(3)
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
def_image_ref = 'http://localhost/images/%s' % image_uuid
self.instance_cache_num += 1
diff --git a/nova/tests/api/openstack/compute/test_extensions.py b/nova/tests/api/openstack/compute/test_extensions.py
index 5c3e07a7a..69952943e 100644
--- a/nova/tests/api/openstack/compute/test_extensions.py
+++ b/nova/tests/api/openstack/compute/test_extensions.py
@@ -26,7 +26,9 @@ from nova.api.openstack.compute import extensions as compute_extensions
from nova.api.openstack import extensions as base_extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
+from nova import exception
from nova.openstack.common import jsonutils
+import nova.policy
from nova import test
from nova.tests.api.openstack import fakes
from nova.tests import matchers
@@ -147,6 +149,24 @@ class ExtensionTestCase(test.TestCase):
if fox not in ext_list:
ext_list.append(fox)
self.flags(osapi_compute_extension=ext_list)
+ self.fake_context = nova.context.RequestContext('fake', 'fake')
+
+ def test_extension_authorizer_throws_exception_if_policy_fails(self):
+ target = {'project_id': '1234',
+ 'user_id': '5678'}
+ self.mox.StubOutWithMock(nova.policy, 'enforce')
+ nova.policy.enforce(self.fake_context,
+ "compute_extension:used_limits_for_admin",
+ target).AndRaise(
+ exception.PolicyNotAuthorized(
+ action="compute_extension:used_limits_for_admin"))
+ ('compute', 'used_limits_for_admin')
+ self.mox.ReplayAll()
+ authorize = base_extensions.extension_authorizer('compute',
+ 'used_limits_for_admin'
+ )
+ self.assertRaises(exception.PolicyNotAuthorized, authorize,
+ self.fake_context, target=target)
class ExtensionControllerTest(ExtensionTestCase):
diff --git a/nova/tests/api/openstack/compute/test_flavors.py b/nova/tests/api/openstack/compute/test_flavors.py
index 13206b6f8..77e637044 100644
--- a/nova/tests/api/openstack/compute/test_flavors.py
+++ b/nova/tests/api/openstack/compute/test_flavors.py
@@ -50,11 +50,11 @@ FAKE_FLAVORS = {
}
-def fake_instance_type_get_by_flavor_id(flavorid):
+def fake_flavor_get_by_flavor_id(flavorid):
return FAKE_FLAVORS['flavor %s' % flavorid]
-def fake_instance_type_get_all(inactive=False, filters=None):
+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]))
@@ -72,11 +72,11 @@ def fake_instance_type_get_all(inactive=False, filters=None):
return output
-def empty_instance_type_get_all(inactive=False, filters=None):
+def empty_flavor_get_all(inactive=False, filters=None):
return {}
-def return_instance_type_not_found(flavor_id):
+def return_flavor_not_found(flavor_id):
raise exception.InstanceTypeNotFound(instance_type_id=flavor_id)
@@ -86,18 +86,18 @@ class FlavorsTest(test.TestCase):
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_types",
- fake_instance_type_get_all)
+ self.stubs.Set(nova.compute.flavors, "get_all_flavors",
+ fake_flavor_get_all)
self.stubs.Set(nova.compute.flavors,
- "get_instance_type_by_flavor_id",
- fake_instance_type_get_by_flavor_id)
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
self.controller = flavors.Controller()
def test_get_flavor_by_invalid_id(self):
self.stubs.Set(nova.compute.flavors,
- "get_instance_type_by_flavor_id",
- return_instance_type_not_found)
+ "get_flavor_by_flavor_id",
+ return_flavor_not_found)
req = fakes.HTTPRequest.blank('/v2/fake/flavors/asdf')
self.assertRaises(webob.exc.HTTPNotFound,
self.controller.show, req, 'asdf')
@@ -341,8 +341,8 @@ class FlavorsTest(test.TestCase):
self.assertEqual(flavor, expected)
def test_get_empty_flavor_list(self):
- self.stubs.Set(nova.compute.flavors, "get_all_types",
- empty_instance_type_get_all)
+ self.stubs.Set(nova.compute.flavors, "get_all_flavors",
+ empty_flavor_get_all)
req = fakes.HTTPRequest.blank('/v2/fake/flavors')
flavors = self.controller.index(req)
diff --git a/nova/tests/api/openstack/compute/test_limits.py b/nova/tests/api/openstack/compute/test_limits.py
index 79bb97d2a..b9dc72b1f 100644
--- a/nova/tests/api/openstack/compute/test_limits.py
+++ b/nova/tests/api/openstack/compute/test_limits.py
@@ -778,7 +778,8 @@ def wire_HTTPConnection_to_WSGI(host, app):
"""
class HTTPConnectionDecorator(object):
"""Wraps the real HTTPConnection class so that when you instantiate
- the class you might instead get a fake instance."""
+ the class you might instead get a fake instance.
+ """
def __init__(self, wrapped):
self.wrapped = wrapped
diff --git a/nova/tests/api/openstack/compute/test_server_actions.py b/nova/tests/api/openstack/compute/test_server_actions.py
index 473d3a253..f1defe039 100644
--- a/nova/tests/api/openstack/compute/test_server_actions.py
+++ b/nova/tests/api/openstack/compute/test_server_actions.py
@@ -843,7 +843,8 @@ class ServerActionsControllerTest(test.TestCase):
def fake_block_device_mapping_get_all_by_instance(context, inst_id):
return [dict(volume_id=_fake_id('a'),
- virtual_name=None,
+ source_type='snapshot',
+ destination_type='volume',
volume_size=1,
device_name='vda',
snapshot_id=1,
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 6cdad1294..af8a4a276 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -24,6 +24,7 @@ import uuid
import iso8601
from lxml import etree
+import mox
from oslo.config import cfg
import webob
@@ -236,7 +237,8 @@ class ServersControllerTest(test.TestCase):
def test_unique_host_id(self):
"""Create two servers with the same host and different
- project_ids and check that the hostId's are unique"""
+ project_ids and check that the hostId's are unique.
+ """
def return_instance_with_host(self, *args):
project_id = str(uuid.uuid4())
return fakes.stub_instance(id=1, uuid=FAKE_UUID,
@@ -1093,6 +1095,17 @@ class ServersControllerTest(test.TestCase):
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
req, FAKE_UUID, body)
+ def test_update_server_name_all_blank_spaces(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.method = 'PUT'
+ req.content_type = 'application/json'
+ body = {'server': {'name': ' ' * 64}}
+ req.body = jsonutils.dumps(body)
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ req, FAKE_UUID, body)
+
def test_update_server_access_ipv4(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
@@ -1781,8 +1794,10 @@ class ServersControllerCreateTest(test.TestCase):
self.ext_mgr.extensions = {}
self.controller = servers.Controller(self.ext_mgr)
+ self.volume_id = 'fake'
+
def instance_create(context, inst):
- inst_type = flavors.get_instance_type_by_flavor_id(3)
+ inst_type = flavors.get_flavor_by_flavor_id(3)
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
def_image_ref = 'http://localhost/images/%s' % image_uuid
self.instance_cache_num += 1
@@ -1804,6 +1819,7 @@ class ServersControllerCreateTest(test.TestCase):
"fixed_ips": [],
"task_state": "",
"vm_state": "",
+ "root_device_name": inst.get('root_device_name', 'vda'),
}
self.instance_cache_by_id[instance['id']] = instance
@@ -2408,7 +2424,7 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_with_volumes_enabled(self):
self.ext_mgr.extensions = {'os-volumes': 'fake'}
- bdm = [{'device_name': 'foo'}]
+ bdm = [{'device_name': 'foo', 'volume_id': 'fake_vol'}]
params = {'block_device_mapping': bdm}
old_create = compute_api.API.create
@@ -2416,7 +2432,11 @@ class ServersControllerCreateTest(test.TestCase):
self.assertEqual(kwargs['block_device_mapping'], bdm)
return old_create(*args, **kwargs)
+ def _validate_bdm(*args, **kwargs):
+ pass
+
self.stubs.Set(compute_api.API, 'create', create)
+ self.stubs.Set(compute_api.API, '_validate_bdm', _validate_bdm)
self._test_create_extra(params)
def test_create_instance_with_volumes_enabled_no_image(self):
@@ -2441,7 +2461,25 @@ class ServersControllerCreateTest(test.TestCase):
os-volumes extension is enabled and bdms are supplied
"""
self.ext_mgr.extensions = {'os-volumes': 'fake'}
- bdm = [{'device_name': 'foo'}]
+ self.mox.StubOutWithMock(compute_api.API, '_validate_bdm')
+ self.mox.StubOutWithMock(compute_api.API, '_get_volume')
+ bdm = [{
+ 'id': 1,
+ 'no_device': None,
+ 'virtual_name': None,
+ 'snapshot_id': None,
+ 'volume_id': self.volume_id,
+ 'status': 'active',
+ 'device_name': 'vda',
+ 'delete_on_termination': False,
+ 'volume_image_metadata':
+ {'test_key': 'test_value'}
+ }]
+ volume = bdm[0]
+ compute_api.API._validate_bdm(mox.IgnoreArg(),
+ mox.IgnoreArg()).AndReturn(True)
+ compute_api.API._get_volume(mox.IgnoreArg(),
+ bdm).AndReturn(volume)
params = {'block_device_mapping': bdm}
old_create = compute_api.API.create
@@ -2450,7 +2488,11 @@ class ServersControllerCreateTest(test.TestCase):
self.assertNotIn('imageRef', kwargs)
return old_create(*args, **kwargs)
+ def _validate_bdm(*args, **kwargs):
+ pass
+
self.stubs.Set(compute_api.API, 'create', create)
+ self.mox.ReplayAll()
self._test_create_extra(params, no_image=True)
def test_create_instance_with_volumes_disabled(self):
@@ -2535,17 +2577,27 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_with_bdm_delete_on_termination(self):
self.ext_mgr.extensions = {'os-volumes': 'fake'}
- bdm = [{'device_name': 'foo1', 'delete_on_termination': 1},
- {'device_name': 'foo2', 'delete_on_termination': True},
- {'device_name': 'foo3', 'delete_on_termination': 'invalid'},
- {'device_name': 'foo4', 'delete_on_termination': 0},
- {'device_name': 'foo5', 'delete_on_termination': False}]
+ bdm = [{'device_name': 'foo1', 'volume_id': 'fake_vol',
+ 'delete_on_termination': 1},
+ {'device_name': 'foo2', 'volume_id': 'fake_vol',
+ 'delete_on_termination': True},
+ {'device_name': 'foo3', 'volume_id': 'fake_vol',
+ 'delete_on_termination': 'invalid'},
+ {'device_name': 'foo4', 'volume_id': 'fake_vol',
+ 'delete_on_termination': 0},
+ {'device_name': 'foo5', 'volume_id': 'fake_vol',
+ 'delete_on_termination': False}]
expected_bdm = [
- {'device_name': 'foo1', 'delete_on_termination': True},
- {'device_name': 'foo2', 'delete_on_termination': True},
- {'device_name': 'foo3', 'delete_on_termination': False},
- {'device_name': 'foo4', 'delete_on_termination': False},
- {'device_name': 'foo5', 'delete_on_termination': False}]
+ {'device_name': 'foo1', 'volume_id': 'fake_vol',
+ 'delete_on_termination': True},
+ {'device_name': 'foo2', 'volume_id': 'fake_vol',
+ 'delete_on_termination': True},
+ {'device_name': 'foo3', 'volume_id': 'fake_vol',
+ 'delete_on_termination': False},
+ {'device_name': 'foo4', 'volume_id': 'fake_vol',
+ 'delete_on_termination': False},
+ {'device_name': 'foo5', 'volume_id': 'fake_vol',
+ 'delete_on_termination': False}]
params = {'block_device_mapping': bdm}
old_create = compute_api.API.create
@@ -2553,7 +2605,11 @@ class ServersControllerCreateTest(test.TestCase):
self.assertEqual(expected_bdm, kwargs['block_device_mapping'])
return old_create(*args, **kwargs)
+ def _validate_bdm(*args, **kwargs):
+ pass
+
self.stubs.Set(compute_api.API, 'create', create)
+ self.stubs.Set(compute_api.API, '_validate_bdm', _validate_bdm)
self._test_create_extra(params)
def test_create_instance_with_user_data_enabled(self):
@@ -2898,6 +2954,37 @@ class ServersControllerCreateTest(test.TestCase):
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
req, body)
+ def test_create_instance_name_all_blank_spaces(self):
+ # proper local hrefs must start with 'http://localhost/v2/'
+ image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
+ image_href = 'http://localhost/v2/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/123/flavors/3'
+ body = {
+ 'server': {
+ 'name': ' ' * 64,
+ 'imageRef': image_href,
+ 'flavorRef': flavor_ref,
+ 'metadata': {
+ 'hello': 'world',
+ 'open': 'stack',
+ },
+ 'personality': [
+ {
+ "path": "/etc/banner.txt",
+ "contents": "MQ==",
+ },
+
+ ],
+ },
+ }
+
+ req = fakes.HTTPRequest.blank('/v2/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)
+
def test_create_instance(self):
# proper local hrefs must start with 'http://localhost/v2/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
@@ -4200,7 +4287,7 @@ class ServersViewBuilderTest(test.TestCase):
self.view_builder = views.servers.ViewBuilder()
self.request = fakes.HTTPRequest.blank("/v2")
- def test_get_flavor_valid_instance_type(self):
+ def test_get_flavor_valid_flavor(self):
flavor_bookmark = "http://localhost/fake/flavors/1"
expected = {"id": "1",
"links": [{"rel": "bookmark",
diff --git a/nova/tests/api/openstack/compute/test_v3_extensions.py b/nova/tests/api/openstack/compute/test_v3_extensions.py
index f7c1bf39c..97429ca45 100644
--- a/nova/tests/api/openstack/compute/test_v3_extensions.py
+++ b/nova/tests/api/openstack/compute/test_v3_extensions.py
@@ -15,9 +15,12 @@
# under the License.
from oslo.config import cfg
+import stevedore
+from nova.api import openstack
from nova.api.openstack import compute
from nova.api.openstack.compute import plugins
+from nova import exception
from nova import test
CONF = cfg.CONF
@@ -28,8 +31,35 @@ class fake_bad_extension(object):
alias = "fake-bad"
+class fake_stevedore_enabled_extensions(object):
+ def __init__(self, namespace, check_func, invoke_on_load=False,
+ invoke_args=(), invoke_kwds={}):
+ self.extensions = []
+
+ def map(self, func, *args, **kwds):
+ pass
+
+ def __iter__(self):
+ return iter(self.extensions)
+
+
+class fake_loaded_extension_info(object):
+ def __init__(self):
+ self.extensions = {}
+
+ def register_extension(self, ext):
+ self.extensions[ext] = ext
+ return True
+
+ def get_extensions(self):
+ return {'core1': None, 'core2': None, 'noncore1': None}
+
+
class ExtensionLoadingTestCase(test.TestCase):
+ def _set_v3_core(self, core_extensions):
+ openstack.API_V3_CORE_EXTENSIONS = core_extensions
+
def test_extensions_loaded(self):
app = compute.APIRouterV3()
self.assertIn('servers', app._loaded_extension_info.extensions)
@@ -70,3 +100,42 @@ class ExtensionLoadingTestCase(test.TestCase):
self.assertNotIn('os-fixed-ips', app._loaded_extension_info.extensions)
self.assertIn('servers', app._loaded_extension_info.extensions)
self.assertEqual(len(app._loaded_extension_info.extensions), 1)
+
+ def test_get_missing_core_extensions(self):
+ v3_core = openstack.API_V3_CORE_EXTENSIONS
+ openstack.API_V3_CORE_EXTENSIONS = set(['core1', 'core2'])
+ self.addCleanup(self._set_v3_core, v3_core)
+ self.assertEqual(len(compute.APIRouterV3.get_missing_core_extensions(
+ ['core1', 'core2', 'noncore1'])), 0)
+ missing_core = compute.APIRouterV3.get_missing_core_extensions(
+ ['core1'])
+ self.assertEqual(len(missing_core), 1)
+ self.assertIn('core2', missing_core)
+ missing_core = compute.APIRouterV3.get_missing_core_extensions([])
+ self.assertEqual(len(missing_core), 2)
+ self.assertIn('core1', missing_core)
+ self.assertIn('core2', missing_core)
+ missing_core = compute.APIRouterV3.get_missing_core_extensions(
+ ['noncore1'])
+ self.assertEqual(len(missing_core), 2)
+ self.assertIn('core1', missing_core)
+ self.assertIn('core2', missing_core)
+
+ def test_core_extensions_present(self):
+ self.stubs.Set(stevedore.enabled, 'EnabledExtensionManager',
+ fake_stevedore_enabled_extensions)
+ self.stubs.Set(plugins, 'LoadedExtensionInfo',
+ fake_loaded_extension_info)
+ v3_core = openstack.API_V3_CORE_EXTENSIONS
+ openstack.API_V3_CORE_EXTENSIONS = set(['core1', 'core2'])
+ self.addCleanup(self._set_v3_core, v3_core)
+ # if no core API extensions are missing then an exception will
+ # not be raised when creating an instance of compute.APIRouterV3
+ _ = compute.APIRouterV3()
+
+ def test_core_extensions_missing(self):
+ self.stubs.Set(stevedore.enabled, 'EnabledExtensionManager',
+ fake_stevedore_enabled_extensions)
+ self.stubs.Set(plugins, 'LoadedExtensionInfo',
+ fake_loaded_extension_info)
+ self.assertRaises(exception.CoreAPIMissing, compute.APIRouterV3)
diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py
index 04857b59c..f05561ff2 100644
--- a/nova/tests/api/openstack/fakes.py
+++ b/nova/tests/api/openstack/fakes.py
@@ -476,8 +476,8 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
else:
metadata = []
- inst_type = flavors.get_instance_type_by_flavor_id(int(flavor_id))
- sys_meta = flavors.save_instance_type_info({}, inst_type)
+ inst_type = flavors.get_flavor_by_flavor_id(int(flavor_id))
+ sys_meta = flavors.save_flavor_info({}, inst_type)
if host is not None:
host = str(host)
diff --git a/nova/tests/cells/test_cells_messaging.py b/nova/tests/cells/test_cells_messaging.py
index 9aae11201..d4d9b052e 100644
--- a/nova/tests/cells/test_cells_messaging.py
+++ b/nova/tests/cells/test_cells_messaging.py
@@ -784,6 +784,7 @@ class CellsTargetedMethodsTestCase(test.TestCase):
result = response.value_or_raise()
result.pop('created_at', None)
result.pop('updated_at', None)
+ result.pop('disabled_reason', None)
expected_result = dict(
deleted=0, deleted_at=None,
binary=fake_service['binary'],
diff --git a/nova/tests/cells/test_cells_rpcapi.py b/nova/tests/cells/test_cells_rpcapi.py
index e44c0be4a..4d58bdb9e 100644
--- a/nova/tests/cells/test_cells_rpcapi.py
+++ b/nova/tests/cells/test_cells_rpcapi.py
@@ -55,6 +55,9 @@ class CellsAPITestCase(test.TestCase):
self.assertEqual(self.fake_context, call_info['context'])
self.assertEqual(self.fake_topic, call_info['topic'])
self.assertEqual(method, call_info['msg']['method'])
+ msg_version = call_info['msg']['version']
+ self.assertTrue(isinstance(msg_version, basestring),
+ "Message version %s is not a string" % msg_version)
self.assertEqual(version, call_info['msg']['version'])
self.assertEqual(args, call_info['msg']['args'])
@@ -127,7 +130,7 @@ class CellsAPITestCase(test.TestCase):
'arg2': 2,
'arg3': 3}}
self._check_result(call_info, 'build_instances',
- expected_args, version=1.8)
+ expected_args, version='1.8')
def test_get_capacities(self):
capacity_info = {"capacity": "info"}
diff --git a/nova/tests/cells/test_cells_scheduler.py b/nova/tests/cells/test_cells_scheduler.py
index 9cd637cdf..46be492cc 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):
@@ -178,7 +177,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 +263,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 +283,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 +341,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 +385,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 91a8c9c95..c887041f8 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -31,9 +31,11 @@ import mox
from oslo.config import cfg
import nova
+from nova import block_device
from nova import compute
from nova.compute import api as compute_api
from nova.compute import flavors
+from nova.compute import instance_actions
from nova.compute import manager as compute_manager
from nova.compute import power_state
from nova.compute import rpcapi as compute_rpcapi
@@ -48,6 +50,7 @@ from nova.image import glance
from nova.network import api as network_api
from nova.network import model as network_model
from nova.network.security_group import openstack_driver
+from nova.objects import instance as instance_obj
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
@@ -60,8 +63,10 @@ from nova.openstack.common import uuidutils
from nova import policy
from nova import quota
from nova import test
+from nova.tests.api.openstack import fakes
from nova.tests.compute import fake_resource_tracker
from nova.tests.db import fakes as db_fakes
+from nova.tests import fake_instance
from nova.tests import fake_instance_actions
from nova.tests import fake_network
from nova.tests import fake_network_cache_model
@@ -229,20 +234,21 @@ class BaseTestCase(test.TestCase):
def make_fake_sys_meta():
sys_meta = {}
- inst_type = flavors.get_instance_type_by_name(type_name)
- for key in flavors.system_metadata_instance_type_props:
+ inst_type = flavors.get_flavor_by_name(type_name)
+ for key in flavors.system_metadata_flavor_props:
sys_meta['instance_type_%s' % key] = inst_type[key]
return sys_meta
inst = {}
inst['vm_state'] = vm_states.ACTIVE
+ inst['task_state'] = None
inst['image_ref'] = FAKE_IMAGE_REF
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = self.user_id
inst['project_id'] = self.project_id
inst['host'] = 'fake_host'
inst['node'] = NODENAME
- type_id = flavors.get_instance_type_by_name(type_name)['id']
+ type_id = flavors.get_flavor_by_name(type_name)['id']
inst['instance_type_id'] = type_id
inst['ami_launch_index'] = 0
inst['memory_mb'] = 0
@@ -252,11 +258,30 @@ class BaseTestCase(test.TestCase):
inst['architecture'] = 'x86_64'
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.update(params)
_create_service_entries(self.context.elevated(),
{'fake_zone': [inst['host']]})
return db.instance_create(self.context, inst)
+ def _create_instance_obj(self, params=None, type_name='m1.tiny'):
+ """Create a test instance object."""
+ instance = instance_obj.Instance()
+ instance.uuid = uuidutils.generate_uuid()
+ instance.cell_name = 'api!child'
+
+ def _fake_db_create(_ctxt, inst):
+ for k, v in inst.items():
+ setattr(instance, k, v)
+ return instance
+
+ self.stubs.Set(db, 'instance_create', _fake_db_create)
+ return self._create_fake_instance(params=params,
+ type_name=type_name)
+
def _create_instance(self, params=None, type_name='m1.tiny'):
"""Create a test instance. Returns uuid."""
return self._create_fake_instance(params, type_name=type_name)
@@ -378,6 +403,27 @@ class ComputeVolumeTestCase(BaseTestCase):
block_device_mapping)
self.assertEqual(self.cinfo.get('serial'), self.volume_id)
+ def test_boot_volume_metadata(self):
+ self.mox.StubOutWithMock(self.compute_api.volume_api, 'get')
+ block_device_mapping = [{
+ 'id': 1,
+ 'no_device': None,
+ 'virtual_name': None,
+ 'snapshot_id': None,
+ 'volume_id': self.volume_id,
+ 'status': 'active',
+ 'device_name': 'vda',
+ 'delete_on_termination': False,
+ 'volume_image_metadata':
+ {'test_key': 'test_value'}
+ }]
+ sentinel = object()
+ self.compute_api.volume_api.get(self.context,
+ self.volume_id).AndReturn(sentinel)
+ self.mox.ReplayAll()
+ vol = self.compute_api._get_volume(self.context, block_device_mapping)
+ self.assertIs(vol, sentinel)
+
def test_poll_volume_usage_disabled(self):
ctxt = 'MockContext'
self.mox.StubOutWithMock(self.compute, '_get_host_volume_bdms')
@@ -427,15 +473,13 @@ class ComputeVolumeTestCase(BaseTestCase):
curr_time = time.time()
self.mox.StubOutWithMock(utils, 'last_completed_audit_period')
self.mox.StubOutWithMock(self.compute, '_get_host_volume_bdms')
- self.mox.StubOutWithMock(timeutils, 'utcnow')
self.mox.StubOutWithMock(self.compute, '_update_volume_usage_cache')
self.stubs.Set(self.compute.driver, 'get_all_volume_usage',
lambda x, y: [3, 4])
# All the mocks are called
utils.last_completed_audit_period().AndReturn((10, 20))
self.compute._get_host_volume_bdms(ctxt, 'MockHost').AndReturn([1, 2])
- timeutils.utcnow().AndReturn(5)
- self.compute._update_volume_usage_cache(ctxt, [3, 4], 5)
+ self.compute._update_volume_usage_cache(ctxt, [3, 4])
self.mox.ReplayAll()
CONF.volume_usage_poll_interval = 10
self.compute._last_vol_usage_poll = 0
@@ -526,7 +570,8 @@ class ComputeVolumeTestCase(BaseTestCase):
block_device_mapping = [{
'id': 1,
'no_device': None,
- 'virtual_name': None,
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
'snapshot_id': None,
'volume_id': self.volume_id,
'device_name': 'vda',
@@ -691,6 +736,16 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue(called['finished'])
self.assertEqual('An unknown exception occurred.', called['message'])
+ def test_object_compat(self):
+ db_inst = fake_instance.fake_db_instance()
+
+ @compute_manager.object_compat
+ def test_fn(_self, context, instance):
+ self.assertTrue(isinstance(instance, instance_obj.Instance))
+ self.assertEqual(instance.uuid, db_inst['uuid'])
+
+ test_fn(None, self.context, instance=db_inst)
+
def test_create_instance_with_img_ref_associates_config_drive(self):
# Make sure create associates a config drive.
@@ -1009,7 +1064,8 @@ class ComputeTestCase(BaseTestCase):
"""spawn failure test.
Make sure that when there is a spawning problem,
- the instance goes to ERROR state, keeping the task state"""
+ the instance goes to ERROR state, keeping the task state.
+ """
def fake(*args, **kwargs):
raise test.TestingException()
self.stubs.Set(self.compute.driver, 'spawn', fake)
@@ -1027,7 +1083,8 @@ class ComputeTestCase(BaseTestCase):
"""spawn network deallocate test.
Make sure that when an instance is not found during spawn
- that the network is deallocated"""
+ that the network is deallocated
+ """
instance = self._create_instance()
def fake(*args, **kwargs):
@@ -1194,6 +1251,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()
@@ -1238,7 +1296,12 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance=instance)
db.instance_update(self.context, instance['uuid'],
{"task_state": task_states.POWERING_OFF})
- self.compute.stop_instance(self.context, instance=instance)
+ inst_uuid = instance['uuid']
+ extra = ['system_metadata', 'metadata']
+ inst_obj = instance_obj.Instance.get_by_uuid(self.context,
+ inst_uuid,
+ expected_attrs=extra)
+ self.compute.stop_instance(self.context, instance=inst_obj)
self.compute.terminate_instance(self.context, instance=instance)
def test_start(self):
@@ -1247,10 +1310,15 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance=instance)
db.instance_update(self.context, instance['uuid'],
{"task_state": task_states.POWERING_OFF})
- self.compute.stop_instance(self.context, instance=instance)
- db.instance_update(self.context, instance['uuid'],
- {"task_state": task_states.POWERING_ON})
- self.compute.start_instance(self.context, instance=instance)
+ extra = ['system_metadata', 'metadata']
+ inst_uuid = instance['uuid']
+ inst_obj = instance_obj.Instance.get_by_uuid(self.context,
+ inst_uuid,
+ expected_attrs=extra)
+ self.compute.stop_instance(self.context, instance=inst_obj)
+ inst_obj.task_state = task_states.POWERING_ON
+ inst_obj.save(self.context)
+ self.compute.start_instance(self.context, instance=inst_obj)
self.compute.terminate_instance(self.context, instance=instance)
def test_stop_start_no_image(self):
@@ -1259,10 +1327,15 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance=instance)
db.instance_update(self.context, instance['uuid'],
{"task_state": task_states.POWERING_OFF})
- self.compute.stop_instance(self.context, instance=instance)
- db.instance_update(self.context, instance['uuid'],
- {"task_state": task_states.POWERING_ON})
- self.compute.start_instance(self.context, instance=instance)
+ extra = ['system_metadata', 'metadata']
+ inst_uuid = instance['uuid']
+ inst_obj = instance_obj.Instance.get_by_uuid(self.context,
+ inst_uuid,
+ expected_attrs=extra)
+ self.compute.stop_instance(self.context, instance=inst_obj)
+ inst_obj.task_state = task_states.POWERING_ON
+ inst_obj.save(self.context)
+ self.compute.start_instance(self.context, instance=inst_obj)
self.compute.terminate_instance(self.context, instance=instance)
def test_rescue(self):
@@ -1338,11 +1411,15 @@ class ComputeTestCase(BaseTestCase):
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
- db.instance_update(self.context, instance['uuid'],
- {"task_state": task_states.POWERING_ON})
- self.compute.start_instance(self.context, instance=instance)
+ extra = ['system_metadata', 'metadata']
+ inst_obj = instance_obj.Instance.get_by_uuid(self.context,
+ instance['uuid'],
+ expected_attrs=extra)
+ inst_obj.task_state = task_states.POWERING_ON
+ inst_obj.save(self.context)
+ self.compute.start_instance(self.context, instance=inst_obj)
self.assertTrue(called['power_on'])
- self.compute.terminate_instance(self.context, instance=instance)
+ self.compute.terminate_instance(self.context, instance=inst_obj)
def test_power_off(self):
# Ensure instance can be powered off.
@@ -1357,11 +1434,15 @@ class ComputeTestCase(BaseTestCase):
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
- db.instance_update(self.context, instance['uuid'],
- {"task_state": task_states.POWERING_OFF})
- self.compute.stop_instance(self.context, instance=instance)
+ extra = ['system_metadata', 'metadata']
+ inst_obj = instance_obj.Instance.get_by_uuid(self.context,
+ instance['uuid'],
+ expected_attrs=extra)
+ inst_obj.task_state = task_states.POWERING_OFF
+ inst_obj.save(self.context)
+ self.compute.stop_instance(self.context, instance=inst_obj)
self.assertTrue(called['power_off'])
- self.compute.terminate_instance(self.context, instance=instance)
+ self.compute.terminate_instance(self.context, instance=inst_obj)
def test_pause(self):
# Ensure instance can be paused and unpaused.
@@ -1460,7 +1541,8 @@ class ComputeTestCase(BaseTestCase):
instance=jsonutils.to_primitive(instance))
def _test_reboot(self, soft, legacy_nwinfo_driver,
- test_delete=False, test_unrescue=False):
+ test_delete=False, test_unrescue=False,
+ fail_reboot=False, fail_running=False):
# This is a true unit test, so we don't need the network stubs.
fake_network.unset_stub_network_methods(self.stubs)
@@ -1473,11 +1555,16 @@ class ComputeTestCase(BaseTestCase):
instance = dict(uuid='fake-instance',
power_state='unknown',
- vm_state=vm_states.ACTIVE)
+ vm_state=vm_states.ACTIVE,
+ launched_at=timeutils.utcnow())
updated_instance1 = dict(uuid='updated-instance1',
- power_state='fake')
+ power_state='fake',
+ vm_state=vm_states.ACTIVE,
+ launched_at=timeutils.utcnow())
updated_instance2 = dict(uuid='updated-instance2',
- power_state='fake')
+ power_state='fake',
+ vm_state=vm_states.ACTIVE,
+ launched_at=timeutils.utcnow())
if test_unrescue:
instance['vm_state'] = vm_states.RESCUED
@@ -1487,7 +1574,8 @@ class ComputeTestCase(BaseTestCase):
fake_block_dev_info = 'fake_block_dev_info'
fake_power_state1 = 'fake_power_state1'
- fake_power_state2 = 'fake_power_state2'
+ fake_power_state2 = power_state.RUNNING
+ fake_power_state3 = 'fake_power_state3'
reboot_type = soft and 'SOFT' or 'HARD'
# Beginning of calls we expect.
@@ -1510,8 +1598,7 @@ class ComputeTestCase(BaseTestCase):
self.compute._get_power_state(econtext,
instance).AndReturn(fake_power_state1)
self.compute._instance_update(econtext, instance['uuid'],
- power_state=fake_power_state1,
- vm_state=instance['vm_state']).AndReturn(updated_instance1)
+ power_state=fake_power_state1).AndReturn(updated_instance1)
# Reboot should check the driver to see if legacy nwinfo is
# needed. If it is, the model's legacy() method should be
@@ -1542,15 +1629,24 @@ class ComputeTestCase(BaseTestCase):
# within `reboot_instance`, we don't have access to its value and
# can't stub it out, thus we skip that comparison.
kwargs.pop('bad_volumes_callback')
+ if fail_reboot:
+ raise exception.InstanceNotFound(instance_id='instance-0000')
self.stubs.Set(self.compute.driver, 'reboot', fake_reboot)
# Power state should be updated again
- self.compute._get_power_state(econtext,
- updated_instance1).AndReturn(fake_power_state2)
+ if not fail_reboot or fail_running:
+ new_power_state = fake_power_state2
+ self.compute._get_power_state(econtext,
+ updated_instance1).AndReturn(fake_power_state2)
+ else:
+ new_power_state = fake_power_state3
+ self.compute._get_power_state(econtext,
+ updated_instance1).AndReturn(fake_power_state3)
+
if test_delete:
self.compute._instance_update(econtext, updated_instance1['uuid'],
- power_state=fake_power_state2,
+ power_state=new_power_state,
task_state=None,
vm_state=vm_states.ACTIVE).AndRaise(
exception.InstanceNotFound(
@@ -1558,9 +1654,15 @@ class ComputeTestCase(BaseTestCase):
self.compute._notify_about_instance_usage(econtext,
updated_instance1,
'reboot.end')
+ elif fail_reboot and not fail_running:
+ self.compute._instance_update(econtext, updated_instance1['uuid'],
+ vm_state=vm_states.ERROR).AndRaise(
+ exception.InstanceNotFound(
+ instance_id=updated_instance1['uuid']))
+
else:
self.compute._instance_update(econtext, updated_instance1['uuid'],
- power_state=fake_power_state2,
+ power_state=new_power_state,
task_state=None,
vm_state=vm_states.ACTIVE).AndReturn(updated_instance2)
self.compute._notify_about_instance_usage(econtext,
@@ -1568,9 +1670,18 @@ class ComputeTestCase(BaseTestCase):
'reboot.end')
self.mox.ReplayAll()
- self.compute.reboot_instance(self.context, instance=instance,
- block_device_info=fake_block_dev_info,
- reboot_type=reboot_type)
+
+ if not fail_reboot or fail_running:
+ self.compute.reboot_instance(self.context, instance=instance,
+ block_device_info=fake_block_dev_info,
+ reboot_type=reboot_type)
+ else:
+ self.assertRaises(exception.InstanceNotFound,
+ self.compute.reboot_instance,
+ self.context, instance=instance,
+ block_device_info=fake_block_dev_info,
+ reboot_type=reboot_type)
+
self.assertEqual(expected_call_info, reboot_call_info)
def test_reboot_soft(self):
@@ -1603,6 +1714,13 @@ class ComputeTestCase(BaseTestCase):
def test_reboot_hard_legacy_nwinfo_driver(self):
self._test_reboot(False, True)
+ def test_reboot_fail(self):
+ self._test_reboot(False, False, fail_reboot=True)
+
+ def test_reboot_fail_running(self):
+ self._test_reboot(False, False, fail_reboot=True,
+ fail_running=True)
+
def test_set_admin_password(self):
# Ensure instance can have its admin password set.
instance = jsonutils.to_primitive(self._create_fake_instance())
@@ -2137,12 +2255,13 @@ class ComputeTestCase(BaseTestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], inst_ref['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
self.assertEquals(payload['state'], 'active')
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)
@@ -2250,7 +2369,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
self.assertTrue('display_name' in payload)
self.assertTrue('created_at' in payload)
@@ -2337,6 +2456,36 @@ class ComputeTestCase(BaseTestCase):
instance=jsonutils.to_primitive(instance),
bdms={})
+ def test_delete_instance_keeps_net_on_power_off_fail(self):
+ self.mox.StubOutWithMock(self.compute.driver, 'destroy')
+ self.mox.StubOutWithMock(self.compute, '_deallocate_network')
+ exp = exception.InstancePowerOffFailure(reason='')
+ self.compute.driver.destroy(mox.IgnoreArg(), mox.IgnoreArg(),
+ mox.IgnoreArg()).AndRaise(exp)
+ # mox will detect if _deallocate_network gets called unexpectedly
+ self.mox.ReplayAll()
+ instance = self._create_fake_instance()
+ self.assertRaises(exception.InstancePowerOffFailure,
+ self.compute._delete_instance,
+ self.context,
+ instance=jsonutils.to_primitive(instance),
+ bdms={})
+
+ def test_delete_instance_loses_net_on_other_fail(self):
+ self.mox.StubOutWithMock(self.compute.driver, 'destroy')
+ self.mox.StubOutWithMock(self.compute, '_deallocate_network')
+ exp = test.TestingException()
+ self.compute.driver.destroy(mox.IgnoreArg(), mox.IgnoreArg(),
+ mox.IgnoreArg()).AndRaise(exp)
+ self.compute._deallocate_network(mox.IgnoreArg(), mox.IgnoreArg())
+ self.mox.ReplayAll()
+ instance = self._create_fake_instance()
+ self.assertRaises(test.TestingException,
+ self.compute._delete_instance,
+ self.context,
+ instance=jsonutils.to_primitive(instance),
+ bdms={})
+
def test_delete_instance_deletes_console_auth_tokens(self):
instance = self._create_fake_instance()
self.flags(vnc_enabled=True)
@@ -2643,7 +2792,7 @@ class ComputeTestCase(BaseTestCase):
vm_state = vm_states.STOPPED
params = {'vm_state': vm_state}
instance = jsonutils.to_primitive(self._create_fake_instance(params))
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
db.instance_update(self.context, instance["uuid"],
{"task_state": task_states.RESIZE_PREP})
self.compute.prep_resize(self.context, instance=instance,
@@ -2738,7 +2887,7 @@ class ComputeTestCase(BaseTestCase):
jsonutils.dumps(connection_info))
# begin resize
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
db.instance_update(self.context, instance["uuid"],
{"task_state": task_states.RESIZE_PREP})
self.compute.prep_resize(self.context, instance=instance,
@@ -2832,7 +2981,7 @@ class ComputeTestCase(BaseTestCase):
reservations = self._ensure_quota_reservations_rolledback()
instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.compute.prep_resize(self.context, instance=instance,
instance_type=instance_type,
image={}, reservations=reservations)
@@ -2910,7 +3059,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], inst_ref['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
self.assertTrue('display_name' in payload)
self.assertTrue('created_at' in payload)
@@ -2926,7 +3075,7 @@ class ComputeTestCase(BaseTestCase):
cur_time = datetime.datetime(2012, 12, 21, 12, 21)
timeutils.set_time_override(old_time)
instance = jsonutils.to_primitive(self._create_fake_instance())
- new_type = flavors.get_instance_type_by_name('m1.small')
+ new_type = flavors.get_flavor_by_name('m1.small')
new_type = jsonutils.to_primitive(new_type)
new_type_id = new_type['id']
self.compute.run_instance(self.context, instance=instance)
@@ -2988,7 +3137,7 @@ class ComputeTestCase(BaseTestCase):
new_instance = db.instance_update(self.context, instance['uuid'],
{'host': 'foo'})
new_instance = jsonutils.to_primitive(new_instance)
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.compute.prep_resize(self.context, instance=new_instance,
instance_type=instance_type, image={})
db.migration_get_by_instance_and_status(self.context.elevated(),
@@ -3011,7 +3160,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], new_instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
self.assertTrue('display_name' in payload)
self.assertTrue('created_at' in payload)
@@ -3034,7 +3183,7 @@ class ComputeTestCase(BaseTestCase):
new_instance = db.instance_update(self.context, instance['uuid'],
{'host': self.compute.host})
new_instance = jsonutils.to_primitive(new_instance)
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.assertRaises(exception.MigrationError, self.compute.prep_resize,
self.context, instance=new_instance,
@@ -3054,7 +3203,7 @@ class ComputeTestCase(BaseTestCase):
new_instance = db.instance_update(self.context, instance['uuid'],
{'host': None})
new_instance = jsonutils.to_primitive(new_instance)
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.assertRaises(exception.MigrationError, self.compute.prep_resize,
self.context, instance=new_instance,
@@ -3072,7 +3221,7 @@ class ComputeTestCase(BaseTestCase):
throw_up)
instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
reservations = self._ensure_quota_reservations_rolledback()
@@ -3110,7 +3259,7 @@ class ComputeTestCase(BaseTestCase):
throw_up)
instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
reservations = self._ensure_quota_reservations_rolledback()
self.compute.run_instance(self.context, instance=instance)
new_instance = db.instance_update(self.context, instance['uuid'],
@@ -3140,7 +3289,7 @@ class ComputeTestCase(BaseTestCase):
def test_resize_instance(self):
# Ensure instance can be migrated/resized.
instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.compute.run_instance(self.context, instance=instance)
new_instance = db.instance_update(self.context, instance['uuid'],
@@ -3428,20 +3577,20 @@ class ComputeTestCase(BaseTestCase):
instance['system_metadata'].append(dict(key='instance_type_id',
value=old))
sys_meta = dict(instance_type_id=old)
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
- self.mox.StubOutWithMock(flavors, 'delete_instance_type_info')
- self.mox.StubOutWithMock(flavors, 'save_instance_type_info')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ self.mox.StubOutWithMock(flavors, 'delete_flavor_info')
+ self.mox.StubOutWithMock(flavors, 'save_flavor_info')
if revert:
- flavors.extract_instance_type(instance, 'old_').AndReturn(
+ flavors.extract_flavor(instance, 'old_').AndReturn(
{'instance_type_id': old})
- flavors.save_instance_type_info(
+ flavors.save_flavor_info(
sys_meta, {'instance_type_id': old}).AndReturn(sys_meta)
else:
- flavors.extract_instance_type(instance).AndReturn(
+ flavors.extract_flavor(instance).AndReturn(
{'instance_type_id': new})
- flavors.delete_instance_type_info(
+ flavors.delete_flavor_info(
sys_meta, 'old_').AndReturn(sys_meta)
- flavors.delete_instance_type_info(
+ flavors.delete_flavor_info(
sys_meta, 'new_').AndReturn(sys_meta)
self.mox.ReplayAll()
@@ -3464,17 +3613,18 @@ class ComputeTestCase(BaseTestCase):
self._test_cleanup_stored_instance_types('1', '1', True)
def test_get_by_flavor_id(self):
- type = flavors.get_instance_type_by_flavor_id(1)
+ type = flavors.get_flavor_by_flavor_id(1)
self.assertEqual(type['name'], 'm1.tiny')
def test_resize_same_source_fails(self):
"""Ensure instance fails to migrate when source and destination are
- the same host"""
+ the same host.
+ """
reservations = self._ensure_quota_reservations_rolledback()
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
instance = db.instance_get_by_uuid(self.context, instance['uuid'])
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.assertRaises(exception.MigrationError, self.compute.prep_resize,
self.context, instance=instance,
instance_type=instance_type, image={},
@@ -3493,7 +3643,7 @@ class ComputeTestCase(BaseTestCase):
reservations = self._ensure_quota_reservations_rolledback()
inst_ref = jsonutils.to_primitive(self._create_fake_instance())
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
self.compute.run_instance(self.context, instance=inst_ref)
inst_ref = db.instance_update(self.context, inst_ref['uuid'],
@@ -4188,9 +4338,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}
@@ -4200,7 +4352,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
@@ -4212,12 +4364,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)
@@ -4292,19 +4445,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',
@@ -4663,19 +4824,27 @@ class ComputeTestCase(BaseTestCase):
def test_init_host(self):
our_host = self.compute.host
fake_context = 'fake-context'
- startup_instances = ['inst1', 'inst2', 'inst3']
+ 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})
+ startup_instances = [inst, inst, inst]
def _do_mock_calls(defer_iptables_apply):
self.compute.driver.init_host(host=our_host)
context.get_admin_context().AndReturn(fake_context)
- self.compute.conductor_api.instance_get_all_by_host(
- fake_context, our_host).AndReturn(startup_instances)
+ db.instance_get_all_by_host(
+ fake_context, our_host, columns_to_join=['info_cache']
+ ).AndReturn(startup_instances)
if defer_iptables_apply:
self.compute.driver.filter_defer_apply_on()
self.compute._destroy_evacuated_instances(fake_context)
- self.compute._init_instance(fake_context, startup_instances[0])
- self.compute._init_instance(fake_context, startup_instances[1])
- self.compute._init_instance(fake_context, startup_instances[2])
+ self.compute._init_instance(fake_context,
+ mox.IsA(instance_obj.Instance))
+ self.compute._init_instance(fake_context,
+ mox.IsA(instance_obj.Instance))
+ self.compute._init_instance(fake_context,
+ mox.IsA(instance_obj.Instance))
if defer_iptables_apply:
self.compute.driver.filter_defer_apply_off()
self.compute._report_driver_status(fake_context)
@@ -4686,8 +4855,7 @@ class ComputeTestCase(BaseTestCase):
'filter_defer_apply_on')
self.mox.StubOutWithMock(self.compute.driver,
'filter_defer_apply_off')
- self.mox.StubOutWithMock(self.compute.conductor_api,
- 'instance_get_all_by_host')
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
self.mox.StubOutWithMock(context, 'get_admin_context')
self.mox.StubOutWithMock(self.compute,
'_destroy_evacuated_instances')
@@ -4731,8 +4899,7 @@ class ComputeTestCase(BaseTestCase):
self.mox.StubOutWithMock(self.compute.driver, 'init_host')
self.mox.StubOutWithMock(self.compute.driver, 'destroy')
- self.mox.StubOutWithMock(self.compute.conductor_api,
- 'instance_get_all_by_host')
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
self.mox.StubOutWithMock(context, 'get_admin_context')
self.mox.StubOutWithMock(self.compute, 'init_virt_events')
self.mox.StubOutWithMock(self.compute, '_get_instances_on_driver')
@@ -4743,8 +4910,9 @@ class ComputeTestCase(BaseTestCase):
self.compute.driver.init_host(host=our_host)
context.get_admin_context().AndReturn(fake_context)
- self.compute.conductor_api.instance_get_all_by_host(
- fake_context, our_host).AndReturn([])
+ db.instance_get_all_by_host(fake_context, our_host,
+ columns_to_join=['info_cache']
+ ).AndReturn([])
self.compute.init_virt_events()
# simulate failed instance
@@ -4814,7 +4982,7 @@ class ComputeTestCase(BaseTestCase):
}
fixed = dict(instance, task_state=None)
self.mox.StubOutWithMock(compute_utils, 'get_nw_info_for_instance')
- self.mox.StubOutWithMock(utils, 'metadata_to_dict')
+ self.mox.StubOutWithMock(utils, 'instance_sys_meta')
self.mox.StubOutWithMock(self.compute.driver, 'plug_vifs')
self.mox.StubOutWithMock(self.compute.driver,
'finish_revert_migration')
@@ -4826,7 +4994,7 @@ class ComputeTestCase(BaseTestCase):
compute_utils.get_nw_info_for_instance(instance).AndReturn(
network_model.NetworkInfo())
self.compute.driver.plug_vifs(instance, [])
- utils.metadata_to_dict(instance['system_metadata']).AndReturn(sys_meta)
+ utils.instance_sys_meta(instance).AndReturn(sys_meta)
self.compute._get_instance_volume_block_device_info(
self.context, instance).AndReturn([])
self.compute.driver.finish_revert_migration(instance, [], [], power_on)
@@ -5003,6 +5171,120 @@ class ComputeTestCase(BaseTestCase):
updated_ats = (updated_at_1, updated_at_2, updated_at_3)
self.assertEqual(len(updated_ats), len(set(updated_ats)))
+ def test_reclaim_queued_deletes(self):
+ self.flags(reclaim_instance_interval=3600)
+ ctxt = context.get_admin_context()
+
+ # Active
+ self._create_fake_instance(params={'host': CONF.host})
+
+ # Deleted not old enough
+ self._create_fake_instance(params={'host': CONF.host,
+ 'vm_state': vm_states.SOFT_DELETED,
+ 'deleted_at': timeutils.utcnow()})
+
+ # Deleted old enough (only this one should be reclaimed)
+ deleted_at = (timeutils.utcnow() -
+ datetime.timedelta(hours=1, minutes=5))
+ instance = self._create_fake_instance(
+ params={'host': CONF.host,
+ 'vm_state': vm_states.SOFT_DELETED,
+ 'deleted_at': deleted_at})
+
+ # Restoring
+ # NOTE(hanlind): This specifically tests for a race condition
+ # where restoring a previously soft deleted instance sets
+ # deleted_at back to None, causing reclaim to think it can be
+ # deleted, see LP #1186243.
+ self._create_fake_instance(
+ params={'host': CONF.host,
+ 'vm_state': vm_states.SOFT_DELETED,
+ 'task_state': task_states.RESTORING})
+
+ self.mox.StubOutWithMock(self.compute, '_delete_instance')
+ instance_ref = get_primitive_instance_by_uuid(ctxt, instance['uuid'])
+ self.compute._delete_instance(ctxt, instance_ref, [])
+
+ self.mox.ReplayAll()
+
+ self.compute._reclaim_queued_deletes(ctxt)
+
+ def test_sync_power_states(self):
+ ctxt = self.context.elevated()
+ self._create_fake_instance({'host': self.compute.host})
+ self._create_fake_instance({'host': self.compute.host})
+ self.mox.StubOutWithMock(self.compute.driver, 'get_info')
+ self.mox.StubOutWithMock(self.compute, '_sync_instance_power_state')
+ self.compute.driver.get_info(mox.IgnoreArg()).AndReturn(
+ {'state': power_state.RUNNING})
+ self.compute._sync_instance_power_state(ctxt, mox.IgnoreArg(),
+ power_state.RUNNING)
+ self.compute.driver.get_info(mox.IgnoreArg()).AndReturn(
+ {'state': power_state.SHUTDOWN})
+ self.compute._sync_instance_power_state(ctxt, mox.IgnoreArg(),
+ power_state.SHUTDOWN)
+ self.mox.ReplayAll()
+ self.compute._sync_power_states(ctxt)
+
+ def _get_sync_instance(self, power_state, vm_state, task_state=None):
+ instance = instance_obj.Instance()
+ instance.uuid = 'fake-uuid'
+ instance.power_state = power_state
+ instance.vm_state = vm_state
+ instance.host = self.compute.host
+ instance.task_state = task_state
+ self.mox.StubOutWithMock(instance, 'refresh')
+ self.mox.StubOutWithMock(instance, 'save')
+ return instance
+
+ def test_sync_instance_power_state_match(self):
+ instance = self._get_sync_instance(power_state.RUNNING,
+ vm_states.ACTIVE)
+ instance.refresh()
+ self.mox.ReplayAll()
+ self.compute._sync_instance_power_state(self.context, instance,
+ power_state.RUNNING)
+
+ def test_sync_instance_power_state_running_stopped(self):
+ instance = self._get_sync_instance(power_state.RUNNING,
+ vm_states.ACTIVE)
+ instance.refresh()
+ instance.save()
+ self.mox.ReplayAll()
+ self.compute._sync_instance_power_state(self.context, instance,
+ power_state.SHUTDOWN)
+ self.assertEqual(instance.power_state, power_state.SHUTDOWN)
+
+ def _test_sync_to_stop(self, power_state, vm_state, driver_power_state,
+ stop=True):
+ instance = self._get_sync_instance(power_state, vm_state)
+ instance.refresh()
+ instance.save()
+ self.mox.StubOutWithMock(self.compute.conductor_api, 'compute_stop')
+ if stop:
+ self.compute.conductor_api.compute_stop(self.context, instance)
+ self.mox.ReplayAll()
+ self.compute._sync_instance_power_state(self.context, instance,
+ driver_power_state)
+ self.mox.VerifyAll()
+ self.mox.UnsetStubs()
+
+ def test_sync_instance_power_state_to_stop(self):
+ for ps in (power_state.SHUTDOWN, power_state.CRASHED,
+ power_state.SUSPENDED):
+ self._test_sync_to_stop(power_state.RUNNING, vm_states.ACTIVE, ps)
+ self._test_sync_to_stop(power_state.SHUTDOWN, vm_states.STOPPED,
+ power_state.RUNNING)
+
+ def test_sync_instance_power_state_to_no_stop(self):
+ for ps in (power_state.PAUSED, power_state.NOSTATE):
+ self._test_sync_to_stop(power_state.RUNNING, vm_states.ACTIVE, ps,
+ stop=False)
+ for vs in (vm_states.SOFT_DELETED, vm_states.DELETED):
+ for ps in (power_state.NOSTATE, power_state.SHUTDOWN):
+ self._test_sync_to_stop(power_state.RUNNING, vs, ps,
+ stop=False)
+
class ComputeAPITestCase(BaseTestCase):
@@ -5048,7 +5330,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_too_little_ram(self):
# Test an instance type with too little memory.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['memory_mb'] = 1
self.fake_image['min_ram'] = 2
@@ -5067,7 +5349,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_too_little_disk(self):
# Test an instance type with too little disk space.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['root_gb'] = 1
self.fake_image['min_disk'] = 2
@@ -5086,7 +5368,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_too_large_image(self):
# Test an instance type with too little disk space.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['root_gb'] = 1
self.fake_image['size'] = '1073741825'
@@ -5106,7 +5388,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_just_enough_ram_and_disk(self):
# Test an instance type with just enough ram and disk space.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['root_gb'] = 2
inst_type['memory_mb'] = 2
@@ -5122,7 +5404,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_no_ram_and_disk_reqs(self):
# Test an instance type with no min_ram or min_disk.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['root_gb'] = 1
inst_type['memory_mb'] = 1
@@ -5135,7 +5417,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_deleted_image(self):
# If we're given a deleted image by glance, we should not be able to
# build from it
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
self.fake_image['name'] = 'fake_name'
self.fake_image['status'] = 'DELETED'
@@ -5154,7 +5436,7 @@ class ComputeAPITestCase(BaseTestCase):
cases = [dict(), dict(display_name=None)]
for instance in cases:
(ref, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(),
+ flavors.get_default_flavor(),
'fake-image-uuid', **instance)
try:
self.assertNotEqual(ref[0]['display_name'], None)
@@ -5165,7 +5447,7 @@ class ComputeAPITestCase(BaseTestCase):
# Make sure image properties are copied into system metadata.
(ref, resv_id) = self.compute_api.create(
self.context,
- instance_type=flavors.get_default_instance_type(),
+ instance_type=flavors.get_default_flavor(),
image_href='fake-image-uuid')
try:
sys_metadata = db.instance_system_metadata_get(self.context,
@@ -5182,7 +5464,7 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, ref[0]['uuid'])
def test_create_saves_type_in_system_metadata(self):
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
(ref, resv_id) = self.compute_api.create(
self.context,
instance_type=instance_type,
@@ -5208,12 +5490,12 @@ class ComputeAPITestCase(BaseTestCase):
group = self._create_group()
(ref, resv_id) = self.compute_api.create(
self.context,
- instance_type=flavors.get_default_instance_type(),
+ instance_type=flavors.get_default_flavor(),
image_href=None,
security_group=['testgroup'])
try:
self.assertEqual(len(db.security_group_get_by_instance(
- self.context, ref[0]['id'])), 1)
+ self.context, ref[0]['uuid'])), 1)
group = db.security_group_get(self.context, group['id'])
self.assert_(len(group['instances']) == 1)
finally:
@@ -5221,7 +5503,7 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, ref[0]['uuid'])
def test_create_instance_with_invalid_security_group_raises(self):
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
pre_build_len = len(db.instance_get_all(self.context))
self.assertRaises(exception.SecurityGroupNotFoundForProject,
@@ -5236,7 +5518,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_large_user_data(self):
# Test an instance type with too much user data.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
self.fake_image['min_ram'] = 2
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5248,7 +5530,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_malformed_user_data(self):
# Test an instance type with malformed user data.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
self.fake_image['min_ram'] = 2
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5260,7 +5542,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_create_with_base64_user_data(self):
# Test an instance type with ok much user data.
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
self.fake_image['min_ram'] = 2
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5291,7 +5573,7 @@ class ComputeAPITestCase(BaseTestCase):
('hello_server', 'hello-server')]
for display_name, hostname in cases:
(ref, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None,
+ flavors.get_default_flavor(), None,
display_name=display_name)
try:
self.assertEqual(ref[0]['hostname'], hostname)
@@ -5304,7 +5586,7 @@ class ComputeAPITestCase(BaseTestCase):
(ref, resv_id) = self.compute_api.create(
self.context,
- instance_type=flavors.get_default_instance_type(),
+ instance_type=flavors.get_default_flavor(),
image_href=None,
security_group=['testgroup'])
try:
@@ -5320,7 +5602,7 @@ class ComputeAPITestCase(BaseTestCase):
(ref, resv_id) = self.compute_api.create(
self.context,
- instance_type=flavors.get_default_instance_type(),
+ instance_type=flavors.get_default_flavor(),
image_href=None,
security_group=['testgroup'])
@@ -5334,47 +5616,85 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, ref[0]['uuid'])
def test_start(self):
- instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_uuid = instance['uuid']
- self.compute.run_instance(self.context, instance=instance)
-
- db.instance_update(self.context, instance['uuid'],
- {"task_state": task_states.POWERING_OFF})
- self.compute.stop_instance(self.context, instance=instance)
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.vm_state = vm_states.STOPPED
+
+ self.mox.StubOutWithMock(instance, 'save')
+ self.mox.StubOutWithMock(self.compute_api,
+ '_record_action_start')
+ self.mox.StubOutWithMock(
+ self.compute_api.compute_rpcapi,
+ 'start_instance')
+
+ instance.save(expected_task_state=None)
+ self.compute_api._record_action_start(self.context,
+ instance, instance_actions.START)
+ self.compute_api.compute_rpcapi.start_instance(
+ self.context, instance)
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.assertEqual(instance['task_state'], None)
+ self.mox.ReplayAll()
self.compute_api.start(self.context, instance)
+ self.assertEqual(task_states.POWERING_ON,
+ instance.task_state)
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.assertEqual(instance['task_state'], task_states.POWERING_ON)
-
- db.instance_destroy(self.context, instance['uuid'])
+ def test_start_invalid_state(self):
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.vm_state = vm_states.ACTIVE
+ self.assertRaises(exception.InstanceInvalidState,
+ self.compute_api.start,
+ self.context, instance)
def test_start_no_host(self):
- instance = self._create_fake_instance(params={'host': ''})
-
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.vm_state = vm_states.STOPPED
+ instance.host = ''
self.assertRaises(exception.InstanceNotReady,
self.compute_api.start,
self.context, instance)
- db.instance_destroy(self.context, instance['uuid'])
-
def test_stop(self):
- instance = jsonutils.to_primitive(self._create_fake_instance())
- instance_uuid = instance['uuid']
- self.compute.run_instance(self.context, instance=instance)
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.task_state = None
+ # Make sure this gets reset
+ instance.progress = 99
+
+ self.mox.StubOutWithMock(instance, 'save')
+ self.mox.StubOutWithMock(self.compute_api,
+ '_record_action_start')
+ self.mox.StubOutWithMock(
+ self.compute_api.compute_rpcapi,
+ 'stop_instance')
+
+ instance.save(expected_task_state=None)
+ self.compute_api._record_action_start(self.context,
+ instance, instance_actions.STOP)
+ self.compute_api.compute_rpcapi.stop_instance(
+ self.context, instance, cast=True)
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.assertEqual(instance['task_state'], None)
+ self.mox.ReplayAll()
self.compute_api.stop(self.context, instance)
+ self.assertEqual(task_states.POWERING_OFF,
+ instance.task_state)
+ self.assertEqual(0, instance.progress)
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.assertEqual(instance['task_state'], task_states.POWERING_OFF)
-
- db.instance_destroy(self.context, instance['uuid'])
+ def test_stop_invalid_state(self):
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.vm_state = vm_states.PAUSED
+ self.assertRaises(exception.InstanceInvalidState,
+ self.compute_api.stop,
+ self.context, instance)
def test_stop_a_stopped_inst(self):
instance = jsonutils.to_primitive(self._create_fake_instance(
@@ -5387,50 +5707,33 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, instance['uuid'])
def test_stop_no_host(self):
- instance = self._create_fake_instance(params={'host': ''})
-
+ # Undo setUp() stubs (test_compute_cells)
+ self.stubs.UnsetAll()
+ instance = self._create_instance_obj()
+ instance.host = ''
self.assertRaises(exception.InstanceNotReady,
self.compute_api.stop,
self.context, instance)
- db.instance_destroy(self.context, instance['uuid'])
-
- def test_start_shutdown(self):
- def check_state(instance_uuid, power_state_, vm_state_, task_state_):
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.assertEqual(instance['power_state'], power_state_)
- self.assertEqual(instance['vm_state'], vm_state_)
- self.assertEqual(instance['task_state'], task_state_)
-
- def start_check_state(instance_uuid,
- power_state_, vm_state_, task_state_):
- instance = db.instance_get_by_uuid(self.context, instance_uuid)
- self.compute_api.start(self.context, instance)
- check_state(instance_uuid, power_state_, vm_state_, task_state_)
-
- instance = jsonutils.to_primitive(self._create_fake_instance())
- self.compute.run_instance(self.context, instance=instance)
-
- check_state(instance['uuid'], power_state.RUNNING, vm_states.ACTIVE,
- None)
+ def test_delete(self):
+ instance, instance_uuid = self._run_instance(params={
+ 'host': CONF.host})
- # NOTE(yamahata): emulate compute.manager._sync_power_state() that
- # the instance is shutdown by itself
- db.instance_update(self.context, instance['uuid'],
- {'power_state': power_state.NOSTATE,
- 'vm_state': vm_states.STOPPED})
- check_state(instance['uuid'], power_state.NOSTATE, vm_states.STOPPED,
- None)
+ self.compute_api.delete(self.context, instance)
- start_check_state(instance['uuid'], power_state.NOSTATE,
- vm_states.STOPPED, task_states.POWERING_ON)
+ 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(self):
+ 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)
@@ -5441,7 +5744,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_delete_in_resizing(self):
def fake_quotas_reserve(context, expire=None, project_id=None,
**deltas):
- old_type = flavors.get_instance_type_by_name('m1.tiny')
+ old_type = flavors.get_flavor_by_name('m1.tiny')
# ensure using old instance type to create reservations
self.assertEqual(deltas['cores'], -old_type['vcpus'])
self.assertEqual(deltas['ram'], -old_type['memory_mb'])
@@ -5452,7 +5755,7 @@ class ComputeAPITestCase(BaseTestCase):
'host': CONF.host})
# create a fake migration record (manager does this)
- new_inst_type = flavors.get_instance_type_by_name('m1.small')
+ new_inst_type = flavors.get_flavor_by_name('m1.small')
db.migration_create(self.context.elevated(),
{'instance_uuid': instance['uuid'],
'old_instance_type_id': instance['instance_type_id'],
@@ -5712,7 +6015,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)
@@ -5743,6 +6046,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)
@@ -5757,6 +6064,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': ''}))
@@ -5790,11 +6125,11 @@ class ComputeAPITestCase(BaseTestCase):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': '1'}))
- def fake_extract_instance_type(_inst):
+ def fake_extract_flavor(_inst):
return dict(memory_mb=64, root_gb=1)
- self.stubs.Set(flavors, 'extract_instance_type',
- fake_extract_instance_type)
+ self.stubs.Set(flavors, 'extract_flavor',
+ fake_extract_flavor)
self.fake_image['min_ram'] = 128
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5814,11 +6149,11 @@ class ComputeAPITestCase(BaseTestCase):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': '1'}))
- def fake_extract_instance_type(_inst):
+ def fake_extract_flavor(_inst):
return dict(memory_mb=64, root_gb=1)
- self.stubs.Set(flavors, 'extract_instance_type',
- fake_extract_instance_type)
+ self.stubs.Set(flavors, 'extract_flavor',
+ fake_extract_flavor)
self.fake_image['min_disk'] = 2
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5838,11 +6173,11 @@ class ComputeAPITestCase(BaseTestCase):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': '1'}))
- def fake_extract_instance_type(_inst):
+ def fake_extract_flavor(_inst):
return dict(memory_mb=64, root_gb=1)
- self.stubs.Set(flavors, 'extract_instance_type',
- fake_extract_instance_type)
+ self.stubs.Set(flavors, 'extract_flavor',
+ fake_extract_flavor)
self.fake_image['min_ram'] = 64
self.fake_image['min_disk'] = 1
@@ -5856,11 +6191,11 @@ class ComputeAPITestCase(BaseTestCase):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': '1'}))
- def fake_extract_instance_type(_inst):
+ def fake_extract_flavor(_inst):
return dict(memory_mb=64, root_gb=1)
- self.stubs.Set(flavors, 'extract_instance_type',
- fake_extract_instance_type)
+ self.stubs.Set(flavors, 'extract_flavor',
+ fake_extract_flavor)
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
self.compute_api.rebuild(self.context,
@@ -5871,11 +6206,11 @@ class ComputeAPITestCase(BaseTestCase):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': '1'}))
- def fake_extract_instance_type(_inst):
+ def fake_extract_flavor(_inst):
return dict(memory_mb=64, root_gb=1)
- self.stubs.Set(flavors, 'extract_instance_type',
- fake_extract_instance_type)
+ self.stubs.Set(flavors, 'extract_flavor',
+ fake_extract_flavor)
self.fake_image['size'] = '1073741825'
self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
@@ -5903,7 +6238,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)
@@ -5920,6 +6255,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)
@@ -5929,7 +6267,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)
@@ -5946,6 +6292,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)
@@ -5955,6 +6304,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())
@@ -5991,7 +6344,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)
@@ -6015,9 +6368,36 @@ 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_instance_type_by_name('m1.tiny')
+ inst_type = flavors.get_flavor_by_name('m1.tiny')
(instances, _) = self.compute_api.create(self.context,
inst_type,
None,
@@ -6094,6 +6474,8 @@ class ComputeAPITestCase(BaseTestCase):
def fake_get_instance_bdms(*args, **kwargs):
return [{'device_name': '/dev/vda',
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
'volume_id': 'bf0b6b00-a20c-11e2-9e96-0800200c9a66'}]
self.stubs.Set(self.compute_api, 'get_instance_bdms',
@@ -6178,7 +6560,7 @@ class ComputeAPITestCase(BaseTestCase):
{'extra_param': 'value1'})
self.assertEqual(image['name'], 'snap1')
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
self.assertEqual(image['min_ram'], self.fake_image['min_ram'])
self.assertEqual(image['min_disk'], instance_type['root_gb'])
properties = image['properties']
@@ -6406,15 +6788,15 @@ class ComputeAPITestCase(BaseTestCase):
self.compute_api.resize(self.context, instance, '4')
# Do the prep/finish_resize steps (manager does this)
- old_type = flavors.extract_instance_type(instance)
- new_type = flavors.get_instance_type_by_flavor_id('4')
+ 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_instance_type_info(sys_meta,
- old_type, 'old_')
- sys_meta = flavors.save_instance_type_info(sys_meta,
- new_type, 'new_')
- sys_meta = flavors.save_instance_type_info(sys_meta,
- new_type)
+ 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)
# create a fake migration record (manager does this)
db.migration_create(self.context.elevated(),
@@ -6430,6 +6812,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'])
@@ -6512,6 +6931,40 @@ class ComputeAPITestCase(BaseTestCase):
flavors.destroy(name)
self.compute.terminate_instance(self.context, instance=instance)
+ def test_resize_by_admin_for_tenant_with_sufficient_quota(self):
+ user_project_id = 'user'
+ instance = self._create_fake_instance({'project_id': user_project_id})
+ self.context.is_admin = True
+ db.quota_create(self.context, self.context.project_id, 'ram', 0)
+ instance = db.instance_get_by_uuid(self.context, instance['uuid'])
+ instance = jsonutils.to_primitive(instance)
+ self.compute.run_instance(self.context, instance=instance)
+ name = 'test_resize_with_big_mem'
+ flavor_id = 11
+ flavors.create(name, 1024, 1, 0, ephemeral_gb=0, flavorid=flavor_id,
+ swap=0, rxtx_factor=1.0, is_public=True)
+ deltas = {'ram': 512}
+ reservations = ['reservation_id']
+
+ self.mox.StubOutWithMock(self.compute_api, '_reserve_quota_delta')
+
+ self.compute_api._reserve_quota_delta(self.context,
+ deltas,
+ project_id=user_project_id). \
+ AndReturn(reservations)
+
+ CONF.cells.enable = True
+ self.mox.StubOutWithMock(nova.quota.QUOTAS, 'commit')
+ nova.quota.QUOTAS.commit(self.context, reservations,
+ project_id=user_project_id)
+ self.mox.ReplayAll()
+
+ self.compute_api.resize(self.context, instance, flavor_id)
+
+ flavors.destroy(name)
+ db.quota_destroy_all_by_project(self.context, self.context.project_id)
+ self.compute.terminate_instance(self.context, instance=instance)
+
def test_resize_revert_deleted_flavor_fails(self):
orig_name = 'test_resize_revert_orig_flavor'
orig_flavorid = 11
@@ -6525,7 +6978,7 @@ class ComputeAPITestCase(BaseTestCase):
self.compute.run_instance(self.context, instance=instance)
old_instance_type_id = instance['instance_type_id']
- new_flavor = flavors.get_instance_type_by_name('m1.tiny')
+ new_flavor = flavors.get_flavor_by_name('m1.tiny')
new_flavorid = new_flavor['flavorid']
new_instance_type_id = new_flavor['id']
self.compute_api.resize(self.context, instance, new_flavorid)
@@ -6602,7 +7055,7 @@ class ComputeAPITestCase(BaseTestCase):
instance = self._create_fake_instance(dict(host='host2'))
instance = db.instance_get_by_uuid(self.context, instance['uuid'])
instance = jsonutils.to_primitive(instance)
- orig_instance_type = flavors.extract_instance_type(instance)
+ orig_instance_type = flavors.extract_flavor(instance)
self.compute.run_instance(self.context, instance=instance)
# We need to set the host to something 'known'. Unfortunately,
# the compute manager is using a cached copy of CONF.host,
@@ -7146,12 +7599,14 @@ class ComputeAPITestCase(BaseTestCase):
self.context, instance_type, instance['uuid'], mappings)
bdms = [self._parse_db_block_device_mapping(bdm_ref)
- for bdm_ref in db.block_device_mapping_get_all_by_instance(
- self.context, instance['uuid'])]
+ for bdm_ref in block_device.legacy_mapping(
+ db.block_device_mapping_get_all_by_instance(
+ self.context, instance['uuid']))]
expected_result = [
{'virtual_name': 'swap', 'device_name': '/dev/sdb1',
- 'volume_size': swap_size},
- {'virtual_name': 'ephemeral0', 'device_name': '/dev/sdc1'},
+ 'volume_size': swap_size, 'delete_on_termination': True},
+ {'virtual_name': 'ephemeral0', 'device_name': '/dev/sdc1',
+ 'delete_on_termination': True},
# NOTE(yamahata): ATM only ephemeral0 is supported.
# they're ignored for now
@@ -7163,24 +7618,26 @@ class ComputeAPITestCase(BaseTestCase):
self.assertThat(bdms, matchers.DictListMatches(expected_result))
self.compute_api._update_block_device_mapping(
- self.context, flavors.get_default_instance_type(),
+ self.context, flavors.get_default_flavor(),
instance['uuid'], block_device_mapping)
bdms = [self._parse_db_block_device_mapping(bdm_ref)
- for bdm_ref in db.block_device_mapping_get_all_by_instance(
- self.context, instance['uuid'])]
+ for bdm_ref in block_device.legacy_mapping(
+ db.block_device_mapping_get_all_by_instance(
+ self.context, instance['uuid']))]
expected_result = [
{'snapshot_id': '00000000-aaaa-bbbb-cccc-000000000000',
'device_name': '/dev/sda1'},
{'virtual_name': 'swap', 'device_name': '/dev/sdb1',
- 'volume_size': swap_size},
+ 'volume_size': swap_size, 'delete_on_termination': True},
{'snapshot_id': '11111111-aaaa-bbbb-cccc-111111111111',
'device_name': '/dev/sdb2'},
{'snapshot_id': '22222222-aaaa-bbbb-cccc-222222222222',
'device_name': '/dev/sdb3'},
{'no_device': True, 'device_name': '/dev/sdb4'},
- {'virtual_name': 'ephemeral0', 'device_name': '/dev/sdc1'},
+ {'virtual_name': 'ephemeral0', 'device_name': '/dev/sdc1',
+ 'delete_on_termination': True},
{'snapshot_id': '33333333-aaaa-bbbb-cccc-333333333333',
'device_name': '/dev/sdc2'},
{'snapshot_id': '44444444-aaaa-bbbb-cccc-444444444444',
@@ -7204,6 +7661,56 @@ class ComputeAPITestCase(BaseTestCase):
instance = db.instance_get_by_uuid(self.context, instance['uuid'])
self.compute.terminate_instance(self.context, instance)
+ def test_populate_instance_for_bdm(self):
+ # Test that the image bdm is created
+ instance_type = {'swap': 1}
+ instance = self._create_fake_instance(
+ {'root_device_name': 'vda'}
+ )
+ image = {'uuid': FAKE_IMAGE_REF}
+ fake_bdms = [{'device_name': '/dev/vda',
+ 'snapshot_id': '33333333-aaaa-bbbb-cccc-333333333333',
+ 'delete_on_termination': False}]
+
+ # Has an image but no bdms
+ self.compute_api._populate_instance_for_bdm(self.context,
+ instance,
+ instance_type,
+ image, [])
+ bdms = db.block_device_mapping_get_all_by_instance(
+ self.context, instance['uuid'])
+ self.assertEqual(len(bdms), 1)
+ self.assertEqual(bdms[0]['image_id'], FAKE_IMAGE_REF)
+ for bdm in bdms:
+ db.block_device_mapping_destroy(self.context, bdm['id'])
+
+ # Has an image and is volume backed - legacy style
+ self.compute_api._populate_instance_for_bdm(self.context,
+ instance,
+ instance_type,
+ image, fake_bdms)
+ bdms = db.block_device_mapping_get_all_by_instance(
+ self.context, instance['uuid'])
+ self.assertEqual(len(bdms), 1)
+ self.assertEqual(bdms[0]['snapshot_id'],
+ '33333333-aaaa-bbbb-cccc-333333333333')
+ for bdm in bdms:
+ db.block_device_mapping_destroy(self.context, bdm['id'])
+
+ # Is volume backed and has no image
+ instance['image_ref'] = ''
+ self.compute_api._populate_instance_for_bdm(self.context,
+ instance,
+ instance_type,
+ image, fake_bdms)
+ bdms = db.block_device_mapping_get_all_by_instance(
+ self.context, instance['uuid'])
+ self.assertEqual(len(bdms), 1)
+ self.assertEqual(bdms[0]['snapshot_id'],
+ '33333333-aaaa-bbbb-cccc-333333333333')
+ for bdm in bdms:
+ db.block_device_mapping_destroy(self.context, bdm['id'])
+
def test_volume_size(self):
ephemeral_size = 2
swap_size = 3
@@ -7220,9 +7727,10 @@ class ComputeAPITestCase(BaseTestCase):
def test_reservation_id_one_instance(self):
"""Verify building an instance has a reservation_id that
- matches return value from create"""
+ matches return value from create.
+ """
(refs, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None)
+ flavors.get_default_flavor(), None)
try:
self.assertEqual(len(refs), 1)
self.assertEqual(refs[0]['reservation_id'], resv_id)
@@ -7232,10 +7740,10 @@ class ComputeAPITestCase(BaseTestCase):
def test_reservation_ids_two_instances(self):
"""Verify building 2 instances at once results in a
reservation_id being returned equal to reservation id set
- in both instances
+ in both instances.
"""
(refs, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None,
+ flavors.get_default_flavor(), None,
min_count=2, max_count=2)
try:
self.assertEqual(len(refs), 2)
@@ -7249,7 +7757,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_multi_instance_display_name_template(self):
self.flags(multi_instance_display_name_template='%(name)s')
(refs, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None,
+ flavors.get_default_flavor(), None,
min_count=2, max_count=2, display_name='x')
self.assertEqual(refs[0]['display_name'], 'x')
self.assertEqual(refs[0]['hostname'], 'x')
@@ -7258,7 +7766,7 @@ class ComputeAPITestCase(BaseTestCase):
self.flags(multi_instance_display_name_template='%(name)s-%(count)s')
(refs, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None,
+ flavors.get_default_flavor(), None,
min_count=2, max_count=2, display_name='x')
self.assertEqual(refs[0]['display_name'], 'x-1')
self.assertEqual(refs[0]['hostname'], 'x-1')
@@ -7267,7 +7775,7 @@ class ComputeAPITestCase(BaseTestCase):
self.flags(multi_instance_display_name_template='%(name)s-%(uuid)s')
(refs, resv_id) = self.compute_api.create(self.context,
- flavors.get_default_instance_type(), None,
+ flavors.get_default_flavor(), None,
min_count=2, max_count=2, display_name='x')
self.assertEqual(refs[0]['display_name'], 'x-%s' % refs[0]['uuid'])
self.assertEqual(refs[0]['hostname'], 'x-%s' % refs[0]['uuid'])
@@ -7326,7 +7834,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')
@@ -7368,6 +7877,8 @@ class ComputeAPITestCase(BaseTestCase):
def fake_get_instance_bdms(*args, **kwargs):
return [{'device_name': '/dev/vda',
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
'volume_id': 'bf0b6b00-a20c-11e2-9e96-0800200c9a66'}]
self.stubs.Set(self.compute_api, 'get_instance_bdms',
@@ -7631,6 +8142,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'}
@@ -7643,6 +8155,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'}
@@ -7957,13 +8470,14 @@ 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
inst['project_id'] = self.project_id
inst['host'] = 'fake_host'
inst['node'] = NODENAME
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
inst['instance_type_id'] = type_id
inst['ami_launch_index'] = 0
inst['memory_mb'] = 0
@@ -8052,7 +8566,8 @@ def _create_service_entries(context, values={'avail_zone1': ['fake_host1',
class ComputeAPIAggrTestCase(BaseTestCase):
"""This is for unit coverage of aggregate-related methods
- defined in nova.compute.api."""
+ defined in nova.compute.api.
+ """
def setUp(self):
super(ComputeAPIAggrTestCase, self).setUp()
@@ -8162,7 +8677,8 @@ class ComputeAPIAggrTestCase(BaseTestCase):
class ComputeAggrTestCase(BaseTestCase):
"""This is for unit coverage of aggregate-related methods
- defined in nova.compute.manager."""
+ defined in nova.compute.manager.
+ """
def setUp(self):
super(ComputeAggrTestCase, self).setUp()
@@ -8338,124 +8854,6 @@ class ComputePolicyTestCase(BaseTestCase):
availability_zone='1:1')
-class KeypairAPITestCase(BaseTestCase):
- def setUp(self):
- super(KeypairAPITestCase, self).setUp()
- self.keypair_api = compute_api.KeypairAPI()
- self.ctxt = context.RequestContext('fake', 'fake')
- self._keypair_db_call_stubs()
- self.existing_key_name = 'fake existing key name'
- self.pub_key = ('ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLnVkqJu9WVf'
- '/5StU3JCrBR2r1s1j8K1tux+5XeSvdqaM8lMFNorzbY5iyoBbR'
- 'S56gy1jmm43QsMPJsrpfUZKcJpRENSe3OxIIwWXRoiapZe78u/'
- 'a9xKwj0avFYMcws9Rk9iAB7W4K1nEJbyCPl5lRBoyqeHBqrnnu'
- 'XWEgGxJCK0Ah6wcOzwlEiVjdf4kxzXrwPHyi7Ea1qvnNXTziF8'
- 'yYmUlH4C8UXfpTQckwSwpDyxZUc63P8q+vPbs3Q2kw+/7vvkCK'
- 'HJAXVI+oCiyMMfffoTq16M1xfV58JstgtTqAXG+ZFpicGajREU'
- 'E/E3hO5MGgcHmyzIrWHKpe1n3oEGuz')
- self.fingerprint = '4e:48:c6:a0:4a:f9:dd:b5:4c:85:54:5a:af:43:47:5a'
-
- def _keypair_db_call_stubs(self):
-
- def db_key_pair_get_all_by_user(self, user_id):
- return []
-
- def db_key_pair_create(self, keypair):
- pass
-
- def db_key_pair_destroy(context, user_id, name):
- pass
-
- def db_key_pair_get(context, user_id, name):
- if name == self.existing_key_name:
- return {'name': self.existing_key_name,
- 'public_key': self.pub_key,
- 'fingerprint': self.fingerprint}
- else:
- raise exception.KeypairNotFound(user_id=user_id, name=name)
-
- self.stubs.Set(db, "key_pair_get_all_by_user",
- db_key_pair_get_all_by_user)
- self.stubs.Set(db, "key_pair_create",
- db_key_pair_create)
- self.stubs.Set(db, "key_pair_destroy",
- db_key_pair_destroy)
- self.stubs.Set(db, "key_pair_get",
- db_key_pair_get)
-
- def test_create_keypair(self):
- keypair = self.keypair_api.create_key_pair(self.ctxt,
- self.ctxt.user_id, 'foo')
- self.assertEqual('foo', keypair['name'])
-
- def test_create_keypair_name_too_long(self):
- self.assertRaises(exception.InvalidKeypair,
- self.keypair_api.create_key_pair,
- self.ctxt, self.ctxt.user_id, 'x' * 256)
-
- def test_create_keypair_invalid_chars(self):
- self.assertRaises(exception.InvalidKeypair,
- self.keypair_api.create_key_pair,
- self.ctxt, self.ctxt.user_id, '* BAD CHARACTERS! *')
-
- def test_create_keypair_already_exists(self):
- def db_key_pair_create_duplicate(context, keypair):
- raise exception.KeyPairExists(key_name=keypair.get('name', ''))
- self.stubs.Set(db, "key_pair_create", db_key_pair_create_duplicate)
- self.assertRaises(exception.KeyPairExists,
- self.keypair_api.create_key_pair,
- self.ctxt, self.ctxt.user_id,
- self.existing_key_name)
-
- def test_create_keypair_quota_limit(self):
- def fake_quotas_count(self, context, resource, *args, **kwargs):
- return CONF.quota_key_pairs
- self.stubs.Set(QUOTAS, "count", fake_quotas_count)
- self.assertRaises(exception.KeypairLimitExceeded,
- self.keypair_api.create_key_pair,
- self.ctxt, self.ctxt.user_id, 'foo')
-
- def test_import_keypair(self):
- keypair = self.keypair_api.import_key_pair(self.ctxt,
- self.ctxt.user_id,
- 'foo',
- self.pub_key)
- self.assertEqual('foo', keypair['name'])
- self.assertEqual(self.fingerprint, keypair['fingerprint'])
- self.assertEqual(self.pub_key, keypair['public_key'])
-
- def test_import_keypair_bad_public_key(self):
- self.assertRaises(exception.InvalidKeypair,
- self.keypair_api.import_key_pair,
- self.ctxt, self.ctxt.user_id, 'foo', 'bad key data')
-
- def test_import_keypair_name_too_long(self):
- self.assertRaises(exception.InvalidKeypair,
- self.keypair_api.import_key_pair,
- self.ctxt, self.ctxt.user_id, 'x' * 256,
- self.pub_key)
-
- def test_import_keypair_invalid_chars(self):
- self.assertRaises(exception.InvalidKeypair,
- self.keypair_api.import_key_pair,
- self.ctxt, self.ctxt.user_id,
- '* BAD CHARACTERS! *', self.pub_key)
-
- def test_import_keypair_quota_limit(self):
- def fake_quotas_count(self, context, resource, *args, **kwargs):
- return CONF.quota_key_pairs
- self.stubs.Set(QUOTAS, "count", fake_quotas_count)
- self.assertRaises(exception.KeypairLimitExceeded,
- self.keypair_api.import_key_pair,
- self.ctxt, self.ctxt.user_id, 'foo', self.pub_key)
-
- def test_get_keypair(self):
- keypair = self.keypair_api.get_key_pair(self.ctxt,
- self.ctxt.user_id,
- self.existing_key_name)
- self.assertEqual(self.existing_key_name, keypair['name'])
-
-
class DisabledInstanceTypesTestCase(BaseTestCase):
"""
Some instance-types are marked 'disabled' which means that they will not
@@ -8472,7 +8870,7 @@ class DisabledInstanceTypesTestCase(BaseTestCase):
def setUp(self):
super(DisabledInstanceTypesTestCase, self).setUp()
self.compute_api = compute.API()
- self.inst_type = flavors.get_default_instance_type()
+ self.inst_type = flavors.get_default_flavor()
def test_can_build_instance_from_visible_instance_type(self):
self.inst_type['disabled'] = False
@@ -8486,19 +8884,19 @@ class DisabledInstanceTypesTestCase(BaseTestCase):
def test_can_resize_to_visible_instance_type(self):
instance = self._create_fake_instance()
- orig_get_instance_type_by_flavor_id =\
- flavors.get_instance_type_by_flavor_id
+ orig_get_flavor_by_flavor_id =\
+ flavors.get_flavor_by_flavor_id
- def fake_get_instance_type_by_flavor_id(flavor_id, ctxt=None,
+ def fake_get_flavor_by_flavor_id(flavor_id, ctxt=None,
read_deleted="yes"):
- instance_type = orig_get_instance_type_by_flavor_id(flavor_id,
+ instance_type = orig_get_flavor_by_flavor_id(flavor_id,
ctxt,
read_deleted)
instance_type['disabled'] = False
return instance_type
- self.stubs.Set(flavors, 'get_instance_type_by_flavor_id',
- fake_get_instance_type_by_flavor_id)
+ self.stubs.Set(flavors, 'get_flavor_by_flavor_id',
+ fake_get_flavor_by_flavor_id)
# FIXME(sirp): for legacy this raises FlavorNotFound instead of
# InstanceTypeNotFound; we should eventually make it raise
@@ -8507,19 +8905,19 @@ class DisabledInstanceTypesTestCase(BaseTestCase):
def test_cannot_resize_to_disabled_instance_type(self):
instance = self._create_fake_instance()
- orig_get_instance_type_by_flavor_id = \
- flavors.get_instance_type_by_flavor_id
+ orig_get_flavor_by_flavor_id = \
+ flavors.get_flavor_by_flavor_id
- def fake_get_instance_type_by_flavor_id(flavor_id, ctxt=None,
+ def fake_get_flavor_by_flavor_id(flavor_id, ctxt=None,
read_deleted="yes"):
- instance_type = orig_get_instance_type_by_flavor_id(flavor_id,
+ instance_type = orig_get_flavor_by_flavor_id(flavor_id,
ctxt,
read_deleted)
instance_type['disabled'] = True
return instance_type
- self.stubs.Set(flavors, 'get_instance_type_by_flavor_id',
- fake_get_instance_type_by_flavor_id)
+ self.stubs.Set(flavors, 'get_flavor_by_flavor_id',
+ fake_get_flavor_by_flavor_id)
# FIXME(sirp): for legacy this raises FlavorNotFound instead of
# InstanceTypeNot; we should eventually make it raise
@@ -8812,7 +9210,7 @@ class ComputeRescheduleResizeOrReraiseTestCase(BaseTestCase):
super(ComputeRescheduleResizeOrReraiseTestCase, self).setUp()
self.instance = self._create_fake_instance()
self.instance_uuid = self.instance['uuid']
- self.instance_type = flavors.get_instance_type_by_name(
+ self.instance_type = flavors.get_flavor_by_name(
"m1.tiny")
def test_reschedule_resize_or_reraise_called(self):
@@ -8919,7 +9317,7 @@ class ComputeInactiveImageTestCase(BaseTestCase):
def test_create_instance_with_deleted_image(self):
# Make sure we can't start an instance with a deleted image.
- inst_type = flavors.get_instance_type_by_name('m1.tiny')
+ inst_type = flavors.get_flavor_by_name('m1.tiny')
self.assertRaises(exception.ImageNotActive,
self.compute_api.create,
self.context, inst_type, 'fake-image-uuid')
@@ -9209,7 +9607,7 @@ class CheckRequestedImageTestCase(test.TestCase):
self.context = context.RequestContext(
'fake_user_id', 'fake_project_id')
- self.instance_type = flavors.get_default_instance_type()
+ self.instance_type = flavors.get_default_flavor()
self.instance_type['memory_mb'] = 64
self.instance_type['root_gb'] = 1
diff --git a/nova/tests/compute/test_compute_utils.py b/nova/tests/compute/test_compute_utils.py
index 84dd67eb5..12c007963 100644
--- a/nova/tests/compute/test_compute_utils.py
+++ b/nova/tests/compute/test_compute_utils.py
@@ -185,7 +185,7 @@ class ComputeValidateDeviceTestCase(test.TestCase):
'ephemeral_gb': 10,
'swap': 0,
})
- self.stubs.Set(flavors, 'get_instance_type',
+ self.stubs.Set(flavors, 'get_flavor',
lambda instance_type_id, ctxt=None: self.instance_type)
device = self._validate_device()
self.assertEqual(device, '/dev/xvdc')
@@ -195,7 +195,7 @@ class ComputeValidateDeviceTestCase(test.TestCase):
'ephemeral_gb': 0,
'swap': 10,
})
- self.stubs.Set(flavors, 'get_instance_type',
+ self.stubs.Set(flavors, 'get_flavor',
lambda instance_type_id, ctxt=None: self.instance_type)
device = self._validate_device()
self.assertEqual(device, '/dev/xvdb')
@@ -205,7 +205,7 @@ class ComputeValidateDeviceTestCase(test.TestCase):
'ephemeral_gb': 10,
'swap': 10,
})
- self.stubs.Set(flavors, 'get_instance_type',
+ self.stubs.Set(flavors, 'get_flavor',
lambda instance_type_id, ctxt=None: self.instance_type)
device = self._validate_device()
self.assertEqual(device, '/dev/xvdd')
@@ -215,7 +215,7 @@ class ComputeValidateDeviceTestCase(test.TestCase):
'ephemeral_gb': 0,
'swap': 10,
})
- self.stubs.Set(flavors, 'get_instance_type',
+ self.stubs.Set(flavors, 'get_flavor',
lambda instance_type_id, ctxt=None: self.instance_type)
device = self._validate_device()
self.assertEqual(device, '/dev/xvdb')
@@ -258,8 +258,8 @@ class UsageInfoTestCase(test.TestCase):
def _create_instance(self, params={}):
"""Create a test instance."""
- instance_type = flavors.get_instance_type_by_name('m1.tiny')
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ instance_type = flavors.get_flavor_by_name('m1.tiny')
+ sys_meta = flavors.save_flavor_info({}, instance_type)
inst = {}
inst['image_ref'] = 1
inst['reservation_id'] = 'r-fakeres'
@@ -294,7 +294,7 @@ class UsageInfoTestCase(test.TestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
for attr in ('display_name', 'created_at', 'launched_at',
'state', 'state_description',
@@ -330,7 +330,7 @@ class UsageInfoTestCase(test.TestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
for attr in ('display_name', 'created_at', 'launched_at',
'state', 'state_description',
@@ -357,7 +357,7 @@ class UsageInfoTestCase(test.TestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
for attr in ('display_name', 'created_at', 'launched_at',
'state', 'state_description',
@@ -393,7 +393,7 @@ class UsageInfoTestCase(test.TestCase):
self.assertEquals(payload['user_id'], self.user_id)
self.assertEquals(payload['instance_id'], instance['uuid'])
self.assertEquals(payload['instance_type'], 'm1.tiny')
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
self.assertEquals(str(payload['instance_type_id']), str(type_id))
for attr in ('display_name', 'created_at', 'launched_at',
'state', 'state_description', 'image_meta'):
diff --git a/nova/tests/compute/test_keypairs.py b/nova/tests/compute/test_keypairs.py
new file mode 100644
index 000000000..f82d69ccb
--- /dev/null
+++ b/nova/tests/compute/test_keypairs.py
@@ -0,0 +1,174 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2013 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 for keypair API."""
+
+from oslo.config import cfg
+
+from nova.compute import api as compute_api
+from nova import context
+from nova import db
+from nova import exception
+from nova import quota
+from nova.tests.compute import test_compute
+
+
+CONF = cfg.CONF
+QUOTAS = quota.QUOTAS
+
+
+class KeypairAPITestCase(test_compute.BaseTestCase):
+ def setUp(self):
+ super(KeypairAPITestCase, self).setUp()
+ self.keypair_api = compute_api.KeypairAPI()
+ self.ctxt = context.RequestContext('fake', 'fake')
+ self._keypair_db_call_stubs()
+ self.existing_key_name = 'fake existing key name'
+ self.pub_key = ('ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLnVkqJu9WVf'
+ '/5StU3JCrBR2r1s1j8K1tux+5XeSvdqaM8lMFNorzbY5iyoBbR'
+ 'S56gy1jmm43QsMPJsrpfUZKcJpRENSe3OxIIwWXRoiapZe78u/'
+ 'a9xKwj0avFYMcws9Rk9iAB7W4K1nEJbyCPl5lRBoyqeHBqrnnu'
+ 'XWEgGxJCK0Ah6wcOzwlEiVjdf4kxzXrwPHyi7Ea1qvnNXTziF8'
+ 'yYmUlH4C8UXfpTQckwSwpDyxZUc63P8q+vPbs3Q2kw+/7vvkCK'
+ 'HJAXVI+oCiyMMfffoTq16M1xfV58JstgtTqAXG+ZFpicGajREU'
+ 'E/E3hO5MGgcHmyzIrWHKpe1n3oEGuz')
+ self.fingerprint = '4e:48:c6:a0:4a:f9:dd:b5:4c:85:54:5a:af:43:47:5a'
+
+ def _keypair_db_call_stubs(self):
+
+ def db_key_pair_get_all_by_user(context, user_id):
+ return [{'name': self.existing_key_name,
+ 'public_key': self.pub_key,
+ 'fingerprint': self.fingerprint}]
+
+ def db_key_pair_create(context, keypair):
+ pass
+
+ def db_key_pair_destroy(context, user_id, name):
+ pass
+
+ def db_key_pair_get(context, user_id, name):
+ if name == self.existing_key_name:
+ return {'name': self.existing_key_name,
+ 'public_key': self.pub_key,
+ 'fingerprint': self.fingerprint}
+ else:
+ raise exception.KeypairNotFound(user_id=user_id, name=name)
+
+ self.stubs.Set(db, "key_pair_get_all_by_user",
+ db_key_pair_get_all_by_user)
+ self.stubs.Set(db, "key_pair_create",
+ db_key_pair_create)
+ self.stubs.Set(db, "key_pair_destroy",
+ db_key_pair_destroy)
+ self.stubs.Set(db, "key_pair_get",
+ db_key_pair_get)
+
+
+class CreateImportSharedTestMixIn(object):
+ """Tests shared between create and import_key.
+
+ Mix-in pattern is used here so that these `test_*` methods aren't picked
+ up by the test runner unless they are part of a 'concrete' test case.
+ """
+
+ def assertKeyNameRaises(self, exc_class, expected_message, name):
+ func = getattr(self.keypair_api, self.func_name)
+
+ args = []
+ if self.func_name == 'import_key_pair':
+ args.append(self.pub_key)
+
+ exc = self.assertRaises(exc_class, func, self.ctxt, self.ctxt.user_id,
+ name, *args)
+ self.assertEqual(expected_message, unicode(exc))
+
+ def test_name_too_short(self):
+ msg = _('Keypair name must be between 1 and 255 characters long')
+ self.assertKeyNameRaises(exception.InvalidKeypair, msg, '')
+
+ def test_name_too_long(self):
+ msg = _('Keypair name must be between 1 and 255 characters long')
+ self.assertKeyNameRaises(exception.InvalidKeypair, msg, 'x' * 256)
+
+ def test_invalid_chars(self):
+ msg = _("Keypair name contains unsafe characters")
+ self.assertKeyNameRaises(exception.InvalidKeypair, msg,
+ '* BAD CHARACTERS! *')
+
+ def test_already_exists(self):
+ def db_key_pair_create_duplicate(context, keypair):
+ raise exception.KeyPairExists(key_name=keypair.get('name', ''))
+
+ self.stubs.Set(db, "key_pair_create", db_key_pair_create_duplicate)
+
+ msg = (_("Key pair '%(key_name)s' already exists.") %
+ {'key_name': self.existing_key_name})
+ self.assertKeyNameRaises(exception.KeyPairExists, msg,
+ self.existing_key_name)
+
+ def test_quota_limit(self):
+ def fake_quotas_count(self, context, resource, *args, **kwargs):
+ return CONF.quota_key_pairs
+
+ self.stubs.Set(QUOTAS, "count", fake_quotas_count)
+
+ msg = _("Maximum number of key pairs exceeded")
+ self.assertKeyNameRaises(exception.KeypairLimitExceeded, msg, 'foo')
+
+
+class CreateKeypairTestCase(KeypairAPITestCase, CreateImportSharedTestMixIn):
+ func_name = 'create_key_pair'
+
+ def test_success(self):
+ keypair = self.keypair_api.create_key_pair(self.ctxt,
+ self.ctxt.user_id, 'foo')
+ self.assertEqual('foo', keypair['name'])
+
+
+class ImportKeypairTestCase(KeypairAPITestCase, CreateImportSharedTestMixIn):
+ func_name = 'import_key_pair'
+
+ def test_success(self):
+ keypair = self.keypair_api.import_key_pair(self.ctxt,
+ self.ctxt.user_id,
+ 'foo',
+ self.pub_key)
+ self.assertEqual('foo', keypair['name'])
+ self.assertEqual(self.fingerprint, keypair['fingerprint'])
+ self.assertEqual(self.pub_key, keypair['public_key'])
+
+ def test_bad_key_data(self):
+ exc = self.assertRaises(exception.InvalidKeypair,
+ self.keypair_api.import_key_pair,
+ self.ctxt, self.ctxt.user_id, 'foo',
+ 'bad key data')
+ self.assertEqual(u'Keypair data is invalid', unicode(exc))
+
+
+class GetKeypairTestCase(KeypairAPITestCase):
+ def test_success(self):
+ keypair = self.keypair_api.get_key_pair(self.ctxt,
+ self.ctxt.user_id,
+ self.existing_key_name)
+ self.assertEqual(self.existing_key_name, keypair['name'])
+
+
+class GetKeypairsTestCase(KeypairAPITestCase):
+ def test_success(self):
+ keypairs = self.keypair_api.get_key_pairs(self.ctxt, self.ctxt.user_id)
+ self.assertEqual([self.existing_key_name],
+ [k['name'] for k in keypairs])
diff --git a/nova/tests/compute/test_resource_tracker.py b/nova/tests/compute/test_resource_tracker.py
index 43bed38ba..e8514cc8e 100644
--- a/nova/tests/compute/test_resource_tracker.py
+++ b/nova/tests/compute/test_resource_tracker.py
@@ -112,7 +112,7 @@ class BaseTestCase(test.TestCase):
'instance_update_and_get_original',
self._fake_instance_update_and_get_original)
self.stubs.Set(self.conductor.db,
- 'instance_type_get', self._fake_instance_type_get)
+ 'instance_type_get', self._fake_flavor_get)
self.host = 'fakehost'
@@ -153,7 +153,7 @@ class BaseTestCase(test.TestCase):
def _fake_instance_system_metadata(self, instance_type, prefix=''):
sys_meta = []
- for key in flavors.system_metadata_instance_type_props.keys():
+ for key in flavors.system_metadata_flavor_props.keys():
sys_meta.append({'key': '%sinstance_type_%s' % (prefix, key),
'value': instance_type[key]})
return sys_meta
@@ -162,7 +162,7 @@ class BaseTestCase(test.TestCase):
# Default to an instance ready to resize to or from the same
# instance_type
- itype = self._fake_instance_type_create()
+ itype = self._fake_flavor_create()
sys_meta = self._fake_instance_system_metadata(itype)
if stash:
@@ -193,7 +193,7 @@ class BaseTestCase(test.TestCase):
self._instances[instance_uuid] = instance
return instance
- def _fake_instance_type_create(self, **kwargs):
+ def _fake_flavor_create(self, **kwargs):
instance_type = {
'id': 1,
'name': 'fakeitype',
@@ -215,7 +215,7 @@ class BaseTestCase(test.TestCase):
def _fake_instance_get_all_by_host_and_node(self, context, host, nodename):
return [i for i in self._instances.values() if i['host'] == host]
- def _fake_instance_type_get(self, ctxt, id_):
+ def _fake_flavor_get(self, ctxt, id_):
return self._instance_types[id_]
def _fake_instance_update_and_get_original(self, context, instance_uuid,
@@ -286,7 +286,7 @@ class UnsupportedDriverTestCase(BaseTestCase):
def test_disabled_resize_claim(self):
instance = self._fake_instance()
- instance_type = self._fake_instance_type_create()
+ instance_type = self._fake_flavor_create()
claim = self.tracker.resize_claim(self.context, instance,
instance_type)
self.assertEqual(0, claim.memory_mb)
@@ -296,7 +296,7 @@ class UnsupportedDriverTestCase(BaseTestCase):
def test_disabled_resize_context_claim(self):
instance = self._fake_instance()
- instance_type = self._fake_instance_type_create()
+ instance_type = self._fake_flavor_create()
with self.tracker.resize_claim(self.context, instance, instance_type) \
as claim:
self.assertEqual(0, claim.memory_mb)
@@ -666,7 +666,7 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
'migration_create', self._fake_migration_create)
self.instance = self._fake_instance()
- self.instance_type = self._fake_instance_type_create()
+ self.instance_type = self._fake_flavor_create()
def _fake_migration_create(self, context, values=None):
instance_uuid = str(uuid.uuid1())
@@ -737,9 +737,9 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
def test_same_host(self):
self.limits['vcpu'] = 3
- src_type = self._fake_instance_type_create(id=2, memory_mb=1,
+ src_type = self._fake_flavor_create(id=2, memory_mb=1,
root_gb=1, ephemeral_gb=0, vcpus=1)
- dest_type = self._fake_instance_type_create(id=2, memory_mb=2,
+ dest_type = self._fake_flavor_create(id=2, memory_mb=2,
root_gb=2, ephemeral_gb=1, vcpus=2)
# make an instance of src_type:
@@ -848,7 +848,7 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
self.assertTrue(self.tracker._instance_in_resize_state(instance))
def test_dupe_filter(self):
- self._fake_instance_type_create(id=2, memory_mb=1, root_gb=1,
+ self._fake_flavor_create(id=2, memory_mb=1, root_gb=1,
ephemeral_gb=1, vcpus=1)
instance = self._fake_instance(host=self.host)
diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py
index 2c04f8060..aaf90288a 100644
--- a/nova/tests/compute/test_rpcapi.py
+++ b/nova/tests/compute/test_rpcapi.py
@@ -354,15 +354,15 @@ class ComputeRpcAPITestCase(test.TestCase):
def test_start_instance(self):
self._test_compute_api('start_instance', 'cast',
- instance=self.fake_instance)
+ instance=self.fake_instance, version='2.29')
def test_stop_instance_cast(self):
self._test_compute_api('stop_instance', 'cast',
- instance=self.fake_instance)
+ instance=self.fake_instance, version='2.29')
def test_stop_instance_call(self):
self._test_compute_api('stop_instance', 'call',
- instance=self.fake_instance)
+ instance=self.fake_instance, version='2.29')
def test_suspend_instance(self):
self._test_compute_api('suspend_instance', 'cast',
diff --git a/nova/tests/compute/test_virtapi.py b/nova/tests/compute/test_virtapi.py
index e3887d033..c090c85f1 100644
--- a/nova/tests/compute/test_virtapi.py
+++ b/nova/tests/compute/test_virtapi.py
@@ -45,12 +45,6 @@ class VirtAPIBaseTest(test.TestCase, test.APICoverage):
self.assertExpected('instance_update', 'fake-uuid',
dict(host='foohost'))
- def test_instance_get_by_uuid(self):
- self.assertExpected('instance_get_by_uuid', 'fake-uuid')
-
- def test_instance_get_all_by_host(self):
- self.assertExpected('instance_get_all_by_host', 'fake-host')
-
def test_aggregate_get_by_host(self):
self.assertExpected('aggregate_get_by_host', 'fake-host', key=None)
@@ -64,7 +58,7 @@ class VirtAPIBaseTest(test.TestCase, test.APICoverage):
def test_security_group_get_by_instance(self):
self.assertExpected('security_group_get_by_instance',
- {'id': 'fake-id'})
+ {'uuid': 'fake-id'})
def test_security_group_rule_get_by_security_group(self):
self.assertExpected('security_group_rule_get_by_security_group',
@@ -99,11 +93,12 @@ class FakeVirtAPITest(VirtAPIBaseTest):
self.mox.StubOutWithMock(db, db_method)
if method in ('aggregate_metadata_add', 'aggregate_metadata_delete',
- 'security_group_rule_get_by_security_group',
- 'security_group_get_by_instance'):
+ 'security_group_rule_get_by_security_group'):
# NOTE(danms): FakeVirtAPI will convert the first argument to
# argument['id'], so expect that in the actual db call
e_args = tuple([args[0]['id']] + list(args[1:]))
+ elif method in ('test_security_group_get_by_instance'):
+ e_args = tuple([args[0]['uuid']] + list(args[1:]))
else:
e_args = args
diff --git a/nova/tests/conductor/test_conductor.py b/nova/tests/conductor/test_conductor.py
index 8b397db02..a2a015313 100644
--- a/nova/tests/conductor/test_conductor.py
+++ b/nova/tests/conductor/test_conductor.py
@@ -79,7 +79,7 @@ class _BaseTestCase(object):
inst['user_id'] = self.user_id
inst['project_id'] = self.project_id
inst['host'] = 'fake_host'
- type_id = flavors.get_instance_type_by_name(type_name)['id']
+ type_id = flavors.get_flavor_by_name(type_name)['id']
inst['instance_type_id'] = type_id
inst['ami_launch_index'] = 0
inst['memory_mb'] = 0
@@ -274,10 +274,10 @@ class _BaseTestCase(object):
self.assertEqual(result, 'foo')
def test_security_group_get_by_instance(self):
- fake_instance = {'id': 'fake-instance'}
+ fake_instance = {'uuid': 'fake-instance'}
self.mox.StubOutWithMock(db, 'security_group_get_by_instance')
db.security_group_get_by_instance(
- self.context, fake_instance['id']).AndReturn('it worked')
+ self.context, fake_instance['uuid']).AndReturn('it worked')
self.mox.ReplayAll()
result = self.conductor.security_group_get_by_instance(self.context,
fake_instance)
@@ -321,7 +321,7 @@ class _BaseTestCase(object):
self.context, fake_inst['uuid']).AndReturn('fake-result')
self.mox.ReplayAll()
result = self.conductor.block_device_mapping_get_all_by_instance(
- self.context, fake_inst)
+ self.context, fake_inst, legacy=False)
self.assertEqual(result, 'fake-result')
def test_instance_get_active_by_window_joined(self):
@@ -357,7 +357,7 @@ class _BaseTestCase(object):
fake_instance,
fake_values)
- def test_instance_type_get(self):
+ def test_flavor_get(self):
self.mox.StubOutWithMock(db, 'instance_type_get')
db.instance_type_get(self.context, 'fake-id').AndReturn('fake-type')
self.mox.ReplayAll()
@@ -374,49 +374,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
self.mox.StubOutWithMock(db, 'vol_usage_update')
- inst = self._create_fake_instance({
- 'project_id': 'fake-project_id',
- 'user_id': 'fake-user_id',
- })
- fake_usage = {'tot_last_refreshed': 20,
- 'curr_last_refreshed': 10,
- 'volume_id': 'fake-vol',
- 'instance_uuid': inst['uuid'],
- 'project_id': 'fake-project_id',
- 'user_id': 'fake-user_id',
- 'availability_zone': 'fake-az',
- 'tot_reads': 11,
- 'curr_reads': 22,
- 'tot_read_bytes': 33,
- 'curr_read_bytes': 44,
- 'tot_writes': 55,
- 'curr_writes': 66,
- 'tot_write_bytes': 77,
- 'curr_write_bytes': 88}
- db.vol_usage_update(self.context, 'fake-vol', 'rd-req', 'rd-bytes',
- 'wr-req', 'wr-bytes', inst['uuid'],
- 'fake-project_id', 'fake-user_id', 'fake-az',
- 'fake-refr', 'fake-bool', mox.IgnoreArg()).\
- AndReturn(fake_usage)
+ 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()
- self.conductor.vol_usage_update(self.context, 'fake-vol', 'rd-req',
- 'rd-bytes', 'wr-req', 'wr-bytes',
- inst, 'fake-refr', 'fake-bool')
-
- 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'], 33)
- self.assertEquals(payload['read_bytes'], 77)
- self.assertEquals(payload['writes'], 121)
- self.assertEquals(payload['write_bytes'], 165)
- self.assertEquals(payload['availability_zone'], 'fake-az')
+
+ self.conductor.vol_usage_update(self.context, 'fake-vol',
+ 22, 33, 44, 55, fake_inst,
+ 'fake-update-time', False)
def test_compute_node_create(self):
self.mox.StubOutWithMock(db, 'compute_node_create')
@@ -1197,20 +1181,30 @@ class _BaseTaskTestCase(object):
self.context, None, None, True, False, "dummy", None, None)
def test_build_instances(self):
- instance_type = flavors.get_default_instance_type()
- system_metadata = flavors.save_instance_type_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_instance_type(
+ 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). 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'},
diff --git a/nova/tests/db/fakes.py b/nova/tests/db/fakes.py
index e64498937..1eb9fd931 100644
--- a/nova/tests/db/fakes.py
+++ b/nova/tests/db/fakes.py
@@ -282,10 +282,6 @@ def stub_out_db_network_api(stubs):
nets = filter(lambda n: n['host'] == host, networks)
return [FakeModel(n) for n in nets]
- def fake_network_get_all_by_instance(context, instance_id):
- nets = filter(lambda n: n['instance_id'] == instance_id, networks)
- return [FakeModel(n) for n in nets]
-
def fake_network_set_host(context, network_id, host_id):
nets = filter(lambda n: n['id'] == network_id, networks)
for net in nets:
@@ -327,7 +323,6 @@ def stub_out_db_network_api(stubs):
fake_network_get,
fake_network_get_all,
fake_network_get_all_by_host,
- fake_network_get_all_by_instance,
fake_network_set_host,
fake_network_update,
fake_project_get_networks]
@@ -435,20 +430,11 @@ def stub_out_db_instance_api(stubs, injected=True):
return inst_type
return None
- def fake_network_get_all_by_instance(context, instance_id):
- # Even instance numbers are on vlan networks
- if instance_id % 2 == 0:
- return [FakeModel(vlan_network_fields)]
- else:
- return [FakeModel(flat_network_fields)]
-
def fake_fixed_ip_get_by_instance(context, instance_id):
return [FakeModel(fixed_ip_fields)]
- funcs = [fake_network_get_all_by_instance,
- fake_instance_type_get_all,
+ funcs = [fake_instance_type_get_all,
fake_instance_type_get_by_name,
fake_instance_type_get,
- fake_network_get_all_by_instance,
fake_fixed_ip_get_by_instance]
stub_out(stubs, funcs)
diff --git a/nova/tests/db/test_db_api.py b/nova/tests/db/test_db_api.py
index efe243d1b..81b15b4d5 100644
--- a/nova/tests/db/test_db_api.py
+++ b/nova/tests/db/test_db_api.py
@@ -33,6 +33,7 @@ from sqlalchemy import MetaData
from sqlalchemy.orm import query
from sqlalchemy.sql.expression import select
+from nova import block_device
from nova.compute import vm_states
from nova import context
from nova import db
@@ -150,26 +151,6 @@ class DbApiTestCase(DbTestCase):
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):
try:
@@ -362,7 +343,7 @@ class DbApiTestCase(DbTestCase):
'fake_host2')
self.assertEqual(0, len(results))
- updated_at = datetime.datetime(2000, 01, 01, 12, 00, 00)
+ updated_at = datetime.datetime(2000, 1, 1, 12, 0, 0)
values = {"status": "finished", "updated_at": updated_at,
"dest_compute": "fake_host2"}
migration = db.migration_create(ctxt, values)
@@ -397,7 +378,7 @@ class DbApiTestCase(DbTestCase):
# Ensure one rebooting instance with updated_at older than 10 seconds
# is returned.
- updated_at = datetime.datetime(2000, 01, 01, 12, 00, 00)
+ 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)
@@ -458,54 +439,6 @@ class DbApiTestCase(DbTestCase):
self.assertRaises(exception.UnexpectedVMStateError,
db.instance_update, ctxt, uuid, updates)
- def test_network_create_safe(self):
- ctxt = context.get_admin_context()
- values = {'host': 'localhost', 'project_id': 'project1'}
- network = db.network_create_safe(ctxt, values)
- self.assertNotEqual(None, network['uuid'])
- self.assertEqual(36, len(network['uuid']))
- db_network = db.network_get(ctxt, network['id'])
- self.assertEqual(network['uuid'], db_network['uuid'])
-
- def test_network_delete_safe(self):
- ctxt = context.get_admin_context()
- values = {'host': 'localhost', 'project_id': 'project1'}
- network = db.network_create_safe(ctxt, values)
- db_network = db.network_get(ctxt, network['id'])
- values = {'network_id': network['id'], 'address': 'fake1'}
- address1 = db.fixed_ip_create(ctxt, values)['address']
- values = {'network_id': network['id'],
- 'address': 'fake2',
- 'allocated': True}
- address2 = db.fixed_ip_create(ctxt, values)['address']
- self.assertRaises(exception.NetworkInUse,
- db.network_delete_safe, ctxt, network['id'])
- db.fixed_ip_update(ctxt, address2, {'allocated': False})
- network = db.network_delete_safe(ctxt, network['id'])
- self.assertRaises(exception.FixedIpNotFoundForAddress,
- db.fixed_ip_get_by_address, ctxt, address1)
- ctxt = ctxt.elevated(read_deleted='yes')
- fixed_ip = db.fixed_ip_get_by_address(ctxt, address1)
- self.assertTrue(fixed_ip['deleted'])
-
- def test_network_create_with_duplicate_vlan(self):
- ctxt = context.get_admin_context()
- values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}
- values2 = {'host': 'something', 'project_id': 'project1', 'vlan': 1}
- db.network_create_safe(ctxt, values1)
- self.assertRaises(exception.DuplicateVlan,
- db.network_create_safe, ctxt, values2)
-
- def test_network_update_with_duplicate_vlan(self):
- ctxt = context.get_admin_context()
- values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}
- values2 = {'host': 'something', 'project_id': 'project1', 'vlan': 2}
- network_ref = db.network_create_safe(ctxt, values1)
- db.network_create_safe(ctxt, values2)
- self.assertRaises(exception.DuplicateVlan,
- db.network_update,
- ctxt, network_ref["id"], values2)
-
def test_instance_update_with_instance_uuid(self):
# test instance_update() works when an instance UUID is passed.
ctxt = context.get_admin_context()
@@ -636,370 +569,6 @@ class DbApiTestCase(DbTestCase):
# Ensure that metadata is updated during instance_update
self._test_instance_update_updates_metadata('metadata')
- def test_instance_fault_create(self):
- # Ensure we can create an instance fault.
- ctxt = context.get_admin_context()
- uuid = str(stdlib_uuid.uuid4())
-
- # Create a fault
- fault_values = {
- 'message': 'message',
- 'details': 'detail',
- 'instance_uuid': uuid,
- 'code': 404,
- }
- db.instance_fault_create(ctxt, fault_values)
-
- # Retrieve the fault to ensure it was successfully added
- faults = db.instance_fault_get_by_instance_uuids(ctxt, [uuid])
- self.assertEqual(404, faults[uuid][0]['code'])
-
- def test_instance_fault_get_by_instance(self):
- # ensure we can retrieve an instance fault by instance UUID.
- ctxt = context.get_admin_context()
- instance1 = db.instance_create(ctxt, {})
- instance2 = db.instance_create(ctxt, {})
- uuids = [instance1['uuid'], instance2['uuid']]
-
- # Create faults
- fault_values = {
- 'message': 'message',
- 'details': 'detail',
- 'instance_uuid': uuids[0],
- 'code': 404,
- }
- fault1 = db.instance_fault_create(ctxt, fault_values)
-
- fault_values = {
- 'message': 'message',
- 'details': 'detail',
- 'instance_uuid': uuids[0],
- 'code': 500,
- }
- fault2 = db.instance_fault_create(ctxt, fault_values)
-
- fault_values = {
- 'message': 'message',
- 'details': 'detail',
- 'instance_uuid': uuids[1],
- 'code': 404,
- }
- fault3 = db.instance_fault_create(ctxt, fault_values)
-
- fault_values = {
- 'message': 'message',
- 'details': 'detail',
- 'instance_uuid': uuids[1],
- 'code': 500,
- }
- fault4 = db.instance_fault_create(ctxt, fault_values)
-
- instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)
-
- expected = {
- uuids[0]: [fault2, fault1],
- uuids[1]: [fault4, fault3],
- }
-
- self.assertEqual(instance_faults, expected)
-
- def test_instance_faults_get_by_instance_uuids_no_faults(self):
- # None should be returned when no faults exist.
- ctxt = context.get_admin_context()
- instance1 = db.instance_create(ctxt, {})
- instance2 = db.instance_create(ctxt, {})
- uuids = [instance1['uuid'], instance2['uuid']]
- instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)
- expected = {uuids[0]: [], uuids[1]: []}
- self.assertEqual(expected, instance_faults)
-
- 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)
-
- # 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'])
-
- 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)
-
- # 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'])
-
- 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)
- 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(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'])
-
- 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['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(ctxt2, action_values)
- db.action_start(ctxt2, action_values)
-
- actions = db.actions_get(ctxt1, uuid1)
- request_id = actions[0]['request_id']
- action = db.action_get_by_request_id(ctxt1, uuid1, request_id)
- self.assertEqual('run_instance', action['action'])
- self.assertEqual(ctxt1.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)
-
- # 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'])
-
- 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)
-
- # 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')
-
- 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)
-
- # 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')
-
- 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)
-
- # 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'])
-
- 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)
-
- 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_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'])
-
def test_add_key_pair(self, name=None):
"""Check if keypair creation work as expected."""
keypair = {
@@ -1073,76 +642,6 @@ class DbApiTestCase(DbTestCase):
db.dnsdomain_unregister(ctxt, domain1)
db.dnsdomain_unregister(ctxt, domain2)
- def test_network_get_associated_fixed_ips(self):
- ctxt = context.get_admin_context()
- values = {'host': 'foo', 'hostname': 'myname'}
- instance = db.instance_create(ctxt, values)
- values = {'address': 'bar', 'instance_uuid': instance['uuid']}
- vif = db.virtual_interface_create(ctxt, values)
- values = {'address': 'baz',
- 'network_id': 1,
- 'allocated': True,
- 'instance_uuid': instance['uuid'],
- 'virtual_interface_id': vif['id']}
- fixed_address = db.fixed_ip_create(ctxt, values)['address']
- data = db.network_get_associated_fixed_ips(ctxt, 1)
- self.assertEqual(len(data), 1)
- record = data[0]
- self.assertEqual(record['address'], fixed_address)
- self.assertEqual(record['instance_uuid'], instance['uuid'])
- self.assertEqual(record['network_id'], 1)
- self.assertEqual(record['instance_created'], instance['created_at'])
- self.assertEqual(record['instance_updated'], instance['updated_at'])
- self.assertEqual(record['instance_hostname'], instance['hostname'])
- self.assertEqual(record['vif_id'], vif['id'])
- self.assertEqual(record['vif_address'], vif['address'])
- data = db.network_get_associated_fixed_ips(ctxt, 1, 'nothing')
- self.assertEqual(len(data), 0)
-
- def test_network_get_all_by_host(self):
- ctxt = context.get_admin_context()
- data = db.network_get_all_by_host(ctxt, 'foo')
- self.assertEqual(len(data), 0)
- # dummy network
- net = db.network_create_safe(ctxt, {})
- # network with host set
- net = db.network_create_safe(ctxt, {'host': 'foo'})
- data = db.network_get_all_by_host(ctxt, 'foo')
- self.assertEqual(len(data), 1)
- # network with fixed ip with host set
- net = db.network_create_safe(ctxt, {})
- values = {'host': 'foo', 'network_id': net['id']}
- db.fixed_ip_create(ctxt, values)
- data = db.network_get_all_by_host(ctxt, 'foo')
- self.assertEqual(len(data), 2)
- # network with instance with host set
- net = db.network_create_safe(ctxt, {})
- instance = db.instance_create(ctxt, {'host': 'foo'})
- values = {'instance_uuid': instance['uuid']}
- vif = db.virtual_interface_create(ctxt, values)
- values = {'network_id': net['id'],
- 'virtual_interface_id': vif['id']}
- db.fixed_ip_create(ctxt, values)
- data = db.network_get_all_by_host(ctxt, 'foo')
- self.assertEqual(len(data), 3)
-
- def test_network_in_use_on_host(self):
- ctxt = context.get_admin_context()
-
- values = {'host': 'foo', 'hostname': 'myname'}
- instance = db.instance_create(ctxt, values)
- values = {'address': 'bar', 'instance_uuid': instance['uuid']}
- vif = db.virtual_interface_create(ctxt, values)
- values = {'address': 'baz',
- 'network_id': 1,
- 'allocated': True,
- 'instance_uuid': instance['uuid'],
- 'virtual_interface_id': vif['id']}
- db.fixed_ip_create(ctxt, values)
-
- self.assertEqual(db.network_in_use_on_host(ctxt, 1, 'foo'), True)
- self.assertEqual(db.network_in_use_on_host(ctxt, 1, 'bar'), False)
-
def test_instance_floating_address_get_all(self):
ctxt = context.get_admin_context()
@@ -1434,17 +933,22 @@ class AggregateDBApiTestCase(test.TestCase):
def test_aggregate_get_by_host(self):
ctxt = context.get_admin_context()
values = {'name': 'fake_aggregate2'}
+ values2 = {'name': 'fake_aggregate4'}
a1 = _create_aggregate_with_hosts(context=ctxt)
a2 = _create_aggregate_with_hosts(context=ctxt, values=values)
+ # a3 has no hosts and should not be in the results.
+ a3 = _create_aggregate(context=ctxt, values=values2)
r1 = db.aggregate_get_by_host(ctxt, 'foo.openstack.org')
self.assertEqual([a1['id'], a2['id']], [x['id'] for x in r1])
def test_aggregate_get_by_host_with_key(self):
ctxt = context.get_admin_context()
values = {'name': 'fake_aggregate2'}
+ 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)
# 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])
@@ -1705,147 +1209,6 @@ class SqlAlchemyDbApiTestCase(DbTestCase):
self.assertEqual(types.UnicodeType, type(result[0]))
-class CapacityTestCase(test.TestCase):
- def setUp(self):
- super(CapacityTestCase, self).setUp()
-
- self.ctxt = context.get_admin_context()
-
- service_dict = dict(host='host1', binary='binary1',
- topic='compute', report_count=1,
- disabled=False)
- self.service = db.service_create(self.ctxt, service_dict)
-
- self.compute_node_dict = dict(vcpus=2, memory_mb=1024, local_gb=2048,
- vcpus_used=0, memory_mb_used=0,
- local_gb_used=0, free_ram_mb=1024,
- free_disk_gb=2048, hypervisor_type="xen",
- hypervisor_version=1, cpu_info="",
- running_vms=0, current_workload=0,
- service_id=self.service['id'])
- # add some random stats
- stats = dict(num_instances=3, num_proj_12345=2,
- num_proj_23456=2, num_vm_building=3)
- self.compute_node_dict['stats'] = stats
-
- self.flags(reserved_host_memory_mb=0)
- self.flags(reserved_host_disk_mb=0)
-
- def _create_helper(self, host):
- self.compute_node_dict['host'] = host
- return db.compute_node_create(self.ctxt, self.compute_node_dict)
-
- def _stats_as_dict(self, stats):
- d = {}
- for s in stats:
- key = s['key']
- d[key] = s['value']
- return d
-
- def test_compute_node_create(self):
- item = self._create_helper('host1')
- self.assertEquals(item['free_ram_mb'], 1024)
- self.assertEquals(item['free_disk_gb'], 2048)
- self.assertEquals(item['running_vms'], 0)
- self.assertEquals(item['current_workload'], 0)
-
- stats = self._stats_as_dict(item['stats'])
- self.assertEqual(3, stats['num_instances'])
- self.assertEqual(2, stats['num_proj_12345'])
- self.assertEqual(3, stats['num_vm_building'])
-
- def test_compute_node_get_all(self):
- item = self._create_helper('host1')
- nodes = db.compute_node_get_all(self.ctxt)
- self.assertEqual(1, len(nodes))
-
- node = nodes[0]
- self.assertEqual(2, node['vcpus'])
-
- stats = self._stats_as_dict(node['stats'])
- self.assertEqual(3, int(stats['num_instances']))
- self.assertEqual(2, int(stats['num_proj_12345']))
- self.assertEqual(3, int(stats['num_vm_building']))
-
- def test_compute_node_update(self):
- item = self._create_helper('host1')
-
- compute_node_id = item['id']
- stats = self._stats_as_dict(item['stats'])
-
- # change some values:
- stats['num_instances'] = 8
- stats['num_tribbles'] = 1
- values = {
- 'vcpus': 4,
- 'stats': stats,
- }
- item = db.compute_node_update(self.ctxt, compute_node_id, values)
- stats = self._stats_as_dict(item['stats'])
-
- self.assertEqual(4, item['vcpus'])
- self.assertEqual(8, int(stats['num_instances']))
- self.assertEqual(2, int(stats['num_proj_12345']))
- self.assertEqual(1, int(stats['num_tribbles']))
-
- def test_compute_node_update_always_updates_updated_at(self):
- item = self._create_helper('host1')
- item_updated = db.compute_node_update(self.ctxt,
- item['id'], {})
- self.assertNotEqual(item['updated_at'], item_updated['updated_at'])
-
- def test_compute_node_stat_unchanged(self):
- # don't update unchanged stat values:
- item = self._create_helper('host1')
-
- compute_node_id = item['id']
- stats = self._stats_as_dict(item['stats'])
- self.assertEqual(4, len(stats.keys()))
-
- orig_update_stats = sqlalchemy_api._update_stats
-
- def update(context, new_stats, compute_id, session, prune_stats=False):
- # wrap the session object to see which stats get updated
- orig_add = session.add
- added = []
-
- def add(instance):
- added.append(instance)
- orig_add(instance)
-
- self.stubs.Set(session, 'add', add)
- orig_update_stats(context, new_stats, compute_id, session,
- prune_stats=False)
-
- # no stats should have been added to the session:
- self.assertEqual(0, len(added))
-
- self.stubs.Set(sqlalchemy_api, '_update_stats', update)
-
- # save with same (unchanged) stats again:
- values = {'stats': stats}
- db.compute_node_update(self.ctxt, compute_node_id, values)
-
- def test_compute_node_stat_prune(self):
- item = self._create_helper('host1')
- for stat in item['stats']:
- if stat['key'] == 'num_instances':
- num_instance_stat = stat
- break
-
- values = {
- 'stats': dict(num_instances=1)
- }
- db.compute_node_update(self.ctxt, item['id'], values, prune_stats=True)
- item = db.compute_node_get_all(self.ctxt)[0]
- self.assertEqual(1, len(item['stats']))
-
- stat = item['stats'][0]
- self.assertEqual(num_instance_stat['id'], stat['id'])
- self.assertEqual(num_instance_stat['key'], stat['key'])
- self.assertEqual(1, int(stat['value']))
-
-
class MigrationTestCase(test.TestCase):
def setUp(self):
@@ -1928,7 +1291,10 @@ class ModelsObjectComparatorMixin(object):
obj1 = self._dict_from_object(obj1, ignored_keys)
obj2 = self._dict_from_object(obj2, ignored_keys)
- self.assertEqual(len(obj1), len(obj2))
+ self.assertEqual(len(obj1),
+ len(obj2),
+ "Keys mismatch: %s" %
+ str(set(obj1.keys()) ^ set(obj2.keys())))
for key, value in obj1.iteritems():
self.assertEqual(value, obj2[key])
@@ -1947,6 +1313,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."""
@@ -2059,6 +1473,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()
@@ -2155,7 +1682,7 @@ class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
for vals in values]
real = db.security_group_get_by_instance(self.ctxt,
- instance['id'])
+ instance['uuid'])
expected = security_groups[:2]
self._assertEqualListsOfObjects(expected, real,
ignored_keys=['instances'])
@@ -2233,6 +1760,64 @@ class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
'default'))
+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()
@@ -2429,6 +2014,330 @@ class BaseInstanceTypeTestCase(test.TestCase, ModelsObjectComparatorMixin):
return db.instance_type_create(self.ctxt, v)
+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."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action_values = self._create_action_values(uuid)
+ action = db.action_start(self.ctxt, action_values)
+
+ 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."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action_values = self._create_action_values(uuid)
+ db.action_start(self.ctxt, action_values)
+
+ 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."""
+ uuid1 = str(stdlib_uuid.uuid4())
+
+ expected = []
+
+ action_values = self._create_action_values(uuid1)
+ action = db.action_start(self.ctxt, action_values)
+ expected.append(action)
+
+ action_values['action'] = 'resize'
+ 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(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."""
+ ctxt2 = context.get_admin_context()
+ uuid1 = str(stdlib_uuid.uuid4())
+ uuid2 = str(stdlib_uuid.uuid4())
+
+ action_values = self._create_action_values(uuid1)
+ db.action_start(self.ctxt, action_values)
+ action_values['action'] = 'resize'
+ 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(self.ctxt, uuid1)
+ request_id = actions[0]['request_id']
+ action = db.action_get_by_request_id(self.ctxt, uuid1, request_id)
+ self.assertEqual('run_instance', action['action'])
+ self.assertEqual(self.ctxt.request_id, action['request_id'])
+
+ def test_instance_action_event_start(self):
+ """Create an instance action event."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action_values = self._create_action_values(uuid)
+ action = db.action_start(self.ctxt, action_values)
+
+ 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."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
+
+ 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."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
+
+ 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."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
+
+ 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."""
+ ctxt2 = context.get_admin_context()
+ uuid1 = str(stdlib_uuid.uuid4())
+ uuid2 = str(stdlib_uuid.uuid4())
+
+ action = db.action_start(self.ctxt,
+ self._create_action_values(uuid1))
+
+ 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
+ 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):
+ def setUp(self):
+ super(InstanceFaultTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def _create_fault_values(self, uuid, code=404):
+ return {
+ 'message': 'message',
+ 'details': 'detail',
+ 'instance_uuid': uuid,
+ 'code': code,
+ 'host': 'localhost'
+ }
+
+ def test_instance_fault_create(self):
+ """Ensure we can create an instance fault."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ # Ensure no faults registered for this instance
+ faults = db.instance_fault_get_by_instance_uuids(self.ctxt, [uuid])
+ self.assertEqual(0, len(faults[uuid]))
+
+ # Create a fault
+ fault_values = self._create_fault_values(uuid)
+ fault = db.instance_fault_create(self.ctxt, fault_values)
+
+ ignored_keys = ['deleted', 'created_at', 'updated_at',
+ 'deleted_at', 'id']
+ self._assertEqualObjects(fault_values, fault, ignored_keys)
+
+ # Retrieve the fault to ensure it was successfully added
+ faults = db.instance_fault_get_by_instance_uuids(self.ctxt, [uuid])
+ self.assertEqual(1, len(faults[uuid]))
+ self._assertEqualObjects(fault, faults[uuid][0])
+
+ def test_instance_fault_get_by_instance(self):
+ """Ensure we can retrieve faults for instance."""
+ uuids = [str(stdlib_uuid.uuid4()), str(stdlib_uuid.uuid4())]
+ fault_codes = [404, 500]
+ expected = {}
+
+ # Create faults
+ for uuid in uuids:
+ expected[uuid] = []
+ for code in fault_codes:
+ fault_values = self._create_fault_values(uuid, code)
+ fault = db.instance_fault_create(self.ctxt, fault_values)
+ expected[uuid].append(fault)
+
+ # Ensure faults are saved
+ faults = db.instance_fault_get_by_instance_uuids(self.ctxt, uuids)
+ self.assertEqual(len(expected), len(faults))
+ for uuid in uuids:
+ self._assertEqualListsOfObjects(expected[uuid], faults[uuid])
+
+ def test_instance_faults_get_by_instance_uuids_no_faults(self):
+ uuid = str(stdlib_uuid.uuid4())
+ # None should be returned when no faults exist.
+ faults = db.instance_fault_get_by_instance_uuids(self.ctxt, [uuid])
+ expected = {uuid: []}
+ self.assertEqual(expected, faults)
+
+
class InstanceTypeTestCase(BaseInstanceTypeTestCase):
def test_instance_type_create(self):
@@ -3719,7 +3628,12 @@ class VolumeUsageDBApiTestCase(test.TestCase):
ctxt = context.get_admin_context()
now = timeutils.utcnow()
start_time = now - datetime.timedelta(seconds=10)
- refreshed_time = now - datetime.timedelta(seconds=5)
+
+ self.mox.StubOutWithMock(timeutils, 'utcnow')
+ timeutils.utcnow().AndReturn(now)
+ timeutils.utcnow().AndReturn(now)
+ timeutils.utcnow().AndReturn(now)
+ self.mox.ReplayAll()
expected_vol_usages = [{'volume_id': u'1',
'instance_uuid': 'fake-instance-uuid1',
@@ -3729,10 +3643,12 @@ class VolumeUsageDBApiTestCase(test.TestCase):
'curr_read_bytes': 2000,
'curr_writes': 3000,
'curr_write_bytes': 4000,
+ 'curr_last_refreshed': now,
'tot_reads': 0,
'tot_read_bytes': 0,
'tot_writes': 0,
- 'tot_write_bytes': 0},
+ 'tot_write_bytes': 0,
+ 'tot_last_refreshed': None},
{'volume_id': u'2',
'instance_uuid': 'fake-instance-uuid2',
'project_id': 'fake-project-uuid2',
@@ -3744,7 +3660,8 @@ class VolumeUsageDBApiTestCase(test.TestCase):
'tot_reads': 0,
'tot_read_bytes': 0,
'tot_writes': 0,
- 'tot_write_bytes': 0}]
+ 'tot_write_bytes': 0,
+ 'tot_last_refreshed': None}]
def _compare(vol_usage, expected):
for key, value in expected.items():
@@ -3770,8 +3687,7 @@ class VolumeUsageDBApiTestCase(test.TestCase):
instance_id='fake-instance-uuid1',
project_id='fake-project-uuid1',
user_id='fake-user-uuid1',
- availability_zone='fake-az',
- last_refreshed=refreshed_time)
+ availability_zone='fake-az')
vol_usages = db.vol_get_usage_by_time(ctxt, start_time)
self.assertEqual(len(vol_usages), 2)
@@ -3780,9 +3696,19 @@ class VolumeUsageDBApiTestCase(test.TestCase):
def test_vol_usage_update_totals_update(self):
ctxt = context.get_admin_context()
- now = timeutils.utcnow()
+ now = datetime.datetime(1, 1, 1, 1, 0, 0)
start_time = now - datetime.timedelta(seconds=10)
+ self.mox.StubOutWithMock(timeutils, 'utcnow')
+ timeutils.utcnow().AndReturn(now)
+ now1 = now + datetime.timedelta(minutes=1)
+ timeutils.utcnow().AndReturn(now1)
+ now2 = now + datetime.timedelta(minutes=2)
+ timeutils.utcnow().AndReturn(now2)
+ now3 = now + datetime.timedelta(minutes=3)
+ 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',
@@ -3833,14 +3759,16 @@ class VolumeUsageDBApiTestCase(test.TestCase):
'tot_read_bytes': 800,
'tot_writes': 1000,
'tot_write_bytes': 1200,
+ 'tot_last_refreshed': now3,
'curr_reads': 0,
'curr_read_bytes': 0,
'curr_writes': 0,
- 'curr_write_bytes': 0}
+ 'curr_write_bytes': 0,
+ 'curr_last_refreshed': now2}
self.assertEquals(1, len(vol_usages))
for key, value in expected_vol_usages.items():
- self.assertEqual(vol_usages[0][key], value)
+ self.assertEqual(vol_usages[0][key], value, key)
def test_vol_usage_update_when_blockdevicestats_reset(self):
ctxt = context.get_admin_context()
@@ -4001,8 +3929,11 @@ class BlockDeviceMappingTestCase(test.TestCase):
def _create_bdm(self, values):
values.setdefault('instance_uuid', self.instance['uuid'])
values.setdefault('device_name', 'fake_device')
- db.block_device_mapping_create(self.ctxt, values)
- uuid = values['instance_uuid']
+ values.setdefault('source_type', 'volume')
+ values.setdefault('destination_type', 'volume')
+ block_dev = block_device.BlockDeviceDict(values)
+ db.block_device_mapping_create(self.ctxt, block_dev, legacy=False)
+ uuid = block_dev['instance_uuid']
bdms = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
@@ -4033,81 +3964,90 @@ class BlockDeviceMappingTestCase(test.TestCase):
def test_block_device_mapping_update(self):
bdm = self._create_bdm({})
db.block_device_mapping_update(self.ctxt, bdm['id'],
- {'virtual_name': 'some_virt_name'})
+ {'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]['virtual_name'], 'some_virt_name')
+ self.assertEqual(bdm_real[0]['destination_type'], 'moon')
def test_block_device_mapping_update_or_create(self):
values = {
'instance_uuid': self.instance['uuid'],
'device_name': 'fake_name',
- 'virtual_name': 'some_virt_name'
+ 'source_type': 'volume',
+ 'destination_type': 'volume'
}
# check create
- db.block_device_mapping_update_or_create(self.ctxt, values)
+ db.block_device_mapping_update_or_create(self.ctxt, values,
+ legacy=False)
uuid = values['instance_uuid']
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(len(bdm_real), 1)
self.assertEqual(bdm_real[0]['device_name'], 'fake_name')
# check update
- values['virtual_name'] = 'virtual_name'
- db.block_device_mapping_update_or_create(self.ctxt, values)
+ values['destination_type'] = 'camelot'
+ db.block_device_mapping_update_or_create(self.ctxt, values,
+ legacy=False)
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(len(bdm_real), 1)
bdm_real = bdm_real[0]
self.assertEqual(bdm_real['device_name'], 'fake_name')
- self.assertEqual(bdm_real['virtual_name'], 'virtual_name')
+ self.assertEqual(bdm_real['destination_type'], 'camelot')
def test_block_device_mapping_update_or_create_check_remove_virt(self):
uuid = self.instance['uuid']
values = {
'instance_uuid': uuid,
- 'virtual_name': 'ephemeral12'
+ 'source_type': 'blank',
+ 'guest_format': 'swap',
}
- # check that old bdm with same virtual_names are deleted on create
+ # check that old swap bdms are deleted on create
val1 = dict(values)
val1['device_name'] = 'device1'
- db.block_device_mapping_create(self.ctxt, val1)
+ db.block_device_mapping_create(self.ctxt, val1, legacy=False)
val2 = dict(values)
val2['device_name'] = 'device2'
- db.block_device_mapping_update_or_create(self.ctxt, val2)
+ db.block_device_mapping_update_or_create(self.ctxt, val2, legacy=False)
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(len(bdm_real), 1)
bdm_real = bdm_real[0]
self.assertEqual(bdm_real['device_name'], 'device2')
- self.assertEqual(bdm_real['virtual_name'], 'ephemeral12')
+ self.assertEqual(bdm_real['source_type'], 'blank')
+ self.assertEqual(bdm_real['guest_format'], 'swap')
+ db.block_device_mapping_destroy(self.ctxt, bdm_real['id'])
- # check that old bdm with same virtual_names are deleted on update
+ # check that old ephemerals are deleted no matter what
val3 = dict(values)
val3['device_name'] = 'device3'
- val3['virtual_name'] = 'some_name'
- db.block_device_mapping_create(self.ctxt, val3)
+ val3['guest_format'] = None
+ val4 = dict(values)
+ val4['device_name'] = 'device4'
+ val4['guest_format'] = None
+ db.block_device_mapping_create(self.ctxt, val3, legacy=False)
+ db.block_device_mapping_create(self.ctxt, val4, legacy=False)
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(len(bdm_real), 2)
- val3['virtual_name'] = 'ephemeral12'
- db.block_device_mapping_update_or_create(self.ctxt, val3)
+ val5 = dict(values)
+ val5['device_name'] = 'device5'
+ val5['guest_format'] = None
+ db.block_device_mapping_update_or_create(self.ctxt, val5, legacy=False)
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(len(bdm_real), 1)
bdm_real = bdm_real[0]
- self.assertEqual(bdm_real['device_name'], 'device3')
- self.assertEqual(bdm_real['virtual_name'], 'ephemeral12')
+ self.assertEqual(bdm_real['device_name'], 'device5')
def test_block_device_mapping_get_all_by_instance(self):
uuid1 = self.instance['uuid']
uuid2 = db.instance_create(self.ctxt, {})['uuid']
bmds_values = [{'instance_uuid': uuid1,
- 'virtual_name': 'virtual_name',
'device_name': 'first'},
{'instance_uuid': uuid2,
- 'virtual_name': 'virtual_name1',
'device_name': 'second'},
{'instance_uuid': uuid2,
- 'virtual_name': 'virtual_name2',
'device_name': 'third'}]
for bdm in bmds_values:
@@ -4115,7 +4055,6 @@ class BlockDeviceMappingTestCase(test.TestCase):
bmd = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid1)
self.assertEqual(len(bmd), 1)
- self.assertEqual(bmd[0]['virtual_name'], 'virtual_name')
self.assertEqual(bmd[0]['device_name'], 'first')
bmd = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid2)
@@ -4273,8 +4212,8 @@ class VirtualInterfaceTestCase(test.TestCase, ModelsObjectComparatorMixin):
"i.nv.ali.ip")
def test_virtual_interface_get_by_uuid(self):
- vifs = [self._create_virt_interface({}),
- self._create_virt_interface({})]
+ vifs = [self._create_virt_interface({"address": "address_1"}),
+ self._create_virt_interface({"address": "address_2"})]
for vif in vifs:
real_vif = db.virtual_interface_get_by_uuid(self.ctxt, vif['uuid'])
self._assertEqualObjects(vif, real_vif)
@@ -4335,6 +4274,240 @@ class VirtualInterfaceTestCase(test.TestCase, ModelsObjectComparatorMixin):
self._assertEqualListsOfObjects(vifs, real_vifs)
+class NetworkTestCase(test.TestCase, ModelsObjectComparatorMixin):
+
+ """Tests for db/api/network_* methods."""
+
+ def setUp(self):
+ super(NetworkTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def _get_associated_fixed_ip(self, host, cidr, ip):
+ network = db.network_create_safe(self.ctxt,
+ {'project_id': 'project1', 'cidr': cidr})
+ self.assertFalse(db.network_in_use_on_host(self.ctxt, network.id,
+ host))
+ instance = db.instance_create(self.ctxt,
+ {'project_id': 'project1', 'host': host})
+ virtual_interface = db.virtual_interface_create(self.ctxt,
+ {'instance_uuid': instance.uuid, 'network_id': network.id,
+ 'address': ip})
+ db.fixed_ip_create(self.ctxt, {'address': ip,
+ 'network_id': network.id, 'allocated': True,
+ 'virtual_interface_id': virtual_interface.id})
+ db.fixed_ip_associate(self.ctxt, ip, instance.uuid,
+ network.id)
+ return network, instance
+
+ def test_network_in_use_on_host(self):
+ network, _ = self._get_associated_fixed_ip('host.net', '192.0.2.0/30',
+ '192.0.2.1')
+ self.assertTrue(db.network_in_use_on_host(self.ctxt, network.id,
+ 'host.net'))
+
+ def test_network_get_associated_fixed_ips(self):
+ network, instance = self._get_associated_fixed_ip('host.net',
+ '192.0.2.0/30', '192.0.2.1')
+ data = db.network_get_associated_fixed_ips(self.ctxt, network.id)
+ self.assertEqual(1, len(data))
+ self.assertEqual('192.0.2.1', data[0]['address'])
+ self.assertEqual('192.0.2.1', data[0]['vif_address'])
+ self.assertEqual(instance.uuid, data[0]['instance_uuid'])
+ self.assertTrue(data[0]['allocated'])
+
+ def test_network_create_safe(self):
+ values = {'host': 'localhost', 'project_id': 'project1'}
+ network = db.network_create_safe(self.ctxt, values)
+ self.assertEqual(36, len(network['uuid']))
+ db_network = db.network_get(self.ctxt, network['id'])
+ self._assertEqualObjects(network, db_network)
+
+ def test_network_create_with_duplicate_vlan(self):
+ values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}
+ values2 = {'host': 'something', 'project_id': 'project1', 'vlan': 1}
+ db.network_create_safe(self.ctxt, values1)
+ self.assertRaises(exception.DuplicateVlan,
+ db.network_create_safe, self.ctxt, values2)
+
+ def test_network_delete_safe(self):
+ values = {'host': 'localhost', 'project_id': 'project1'}
+ network = db.network_create_safe(self.ctxt, values)
+ db_network = db.network_get(self.ctxt, network['id'])
+ values = {'network_id': network['id'], 'address': 'fake1'}
+ address1 = db.fixed_ip_create(self.ctxt, values)['address']
+ values = {'network_id': network['id'],
+ 'address': 'fake2',
+ 'allocated': True}
+ address2 = db.fixed_ip_create(self.ctxt, values)['address']
+ self.assertRaises(exception.NetworkInUse,
+ db.network_delete_safe, self.ctxt, network['id'])
+ db.fixed_ip_update(self.ctxt, address2, {'allocated': False})
+ network = db.network_delete_safe(self.ctxt, network['id'])
+ self.assertRaises(exception.FixedIpNotFoundForAddress,
+ db.fixed_ip_get_by_address, self.ctxt, address1)
+ ctxt = self.ctxt.elevated(read_deleted='yes')
+ fixed_ip = db.fixed_ip_get_by_address(ctxt, address1)
+ self.assertTrue(fixed_ip['deleted'])
+
+ def test_network_in_use_on_host(self):
+ values = {'host': 'foo', 'hostname': 'myname'}
+ instance = db.instance_create(self.ctxt, values)
+ values = {'address': 'bar', 'instance_uuid': instance['uuid']}
+ vif = db.virtual_interface_create(self.ctxt, values)
+ values = {'address': 'baz',
+ 'network_id': 1,
+ 'allocated': True,
+ 'instance_uuid': instance['uuid'],
+ 'virtual_interface_id': vif['id']}
+ db.fixed_ip_create(self.ctxt, values)
+ self.assertEqual(db.network_in_use_on_host(self.ctxt, 1, 'foo'), True)
+ self.assertEqual(db.network_in_use_on_host(self.ctxt, 1, 'bar'), False)
+
+ def test_network_update_nonexistent(self):
+ self.assertRaises(exception.NetworkNotFound,
+ db.network_update, self.ctxt, 'nonexistent', {})
+
+ def test_network_update_with_duplicate_vlan(self):
+ values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}
+ values2 = {'host': 'something', 'project_id': 'project1', 'vlan': 2}
+ network_ref = db.network_create_safe(self.ctxt, values1)
+ db.network_create_safe(self.ctxt, values2)
+ self.assertRaises(exception.DuplicateVlan,
+ db.network_update, self.ctxt,
+ network_ref["id"], values2)
+
+ def test_network_update(self):
+ network = db.network_create_safe(self.ctxt, {'project_id': 'project1',
+ 'vlan': 1, 'host': 'test.com'})
+ db.network_update(self.ctxt, network.id, {'vlan': 2})
+ network_new = db.network_get(self.ctxt, network.id)
+ self.assertEqual(2, network_new.vlan)
+
+ def test_network_set_host_nonexistent_network(self):
+ self.assertRaises(exception.NetworkNotFound,
+ db.network_set_host, self.ctxt, 'nonexistent', 'nonexistent')
+
+ def test_network_set_host_with_initially_no_host(self):
+ values = {'host': 'example.com', 'project_id': 'project1'}
+ network = db.network_create_safe(self.ctxt, values)
+ self.assertEqual(
+ db.network_set_host(self.ctxt, network.id, 'new.example.com'),
+ 'example.com')
+
+ def test_network_set_host(self):
+ values = {'project_id': 'project1'}
+ network = db.network_create_safe(self.ctxt, values)
+ self.assertEqual(
+ db.network_set_host(self.ctxt, network.id, 'example.com'),
+ 'example.com')
+ self.assertEqual('example.com',
+ db.network_get(self.ctxt, network.id).host)
+
+ def test_network_get_all_by_host(self):
+ self.assertEqual([],
+ db.network_get_all_by_host(self.ctxt, 'example.com'))
+ host = 'h1.example.com'
+ # network with host set
+ net1 = db.network_create_safe(self.ctxt, {'host': host})
+ self._assertEqualListsOfObjects([net1],
+ db.network_get_all_by_host(self.ctxt, host))
+ # network with fixed ip with host set
+ net2 = db.network_create_safe(self.ctxt, {})
+ db.fixed_ip_create(self.ctxt, {'host': host, 'network_id': net2.id})
+ data = db.network_get_all_by_host(self.ctxt, host)
+ self._assertEqualListsOfObjects([net1, net2],
+ db.network_get_all_by_host(self.ctxt, host))
+ # network with instance with host set
+ net3 = db.network_create_safe(self.ctxt, {})
+ instance = db.instance_create(self.ctxt, {'host': host})
+ vif = db.virtual_interface_create(self.ctxt,
+ {'instance_uuid': instance.uuid})
+ db.fixed_ip_create(self.ctxt, {'network_id': net3.id,
+ 'virtual_interface_id': vif.id})
+ self._assertEqualListsOfObjects([net1, net2, net3],
+ db.network_get_all_by_host(self.ctxt, host))
+
+ def test_network_get_by_cidr_nonexistent(self):
+ self.assertRaises(exception.NetworkNotFoundForCidr,
+ db.network_get_by_cidr(self.ctxt, '192.0.2.0/29'))
+
+ def test_network_get_by_cidr(self):
+ cidr = '192.0.2.0/30'
+ cidr_v6 = '2001:db8:1::/64'
+ network = db.network_create_safe(self.ctxt,
+ {'project_id': 'project1', 'cidr': cidr, 'cidr_v6': cidr_v6})
+ self._assertEqualObjects(network,
+ db.network_get_by_cidr(self.ctxt, cidr))
+ self._assertEqualObjects(network,
+ db.network_get_by_cidr(self.ctxt, cidr_v6))
+
+ def test_network_get_by_cidr_nonexistent(self):
+ self.assertRaises(exception.NetworkNotFoundForCidr,
+ db.network_get_by_cidr, self.ctxt, '192.0.2.0/30')
+
+ def test_network_get_by_uuid(self):
+ network = db.network_create_safe(self.ctxt,
+ {'project_id': 'project_1'})
+ self._assertEqualObjects(network,
+ db.network_get_by_uuid(self.ctxt, network.uuid))
+
+ def test_network_get_by_uuid_nonexistent(self):
+ self.assertRaises(exception.NetworkNotFoundForUUID,
+ db.network_get_by_uuid, self.ctxt, 'non-existent-uuid')
+
+ def test_network_get_all_by_uuids_no_networks(self):
+ self.assertRaises(exception.NoNetworksFound,
+ db.network_get_all_by_uuids, self.ctxt, ['non-existent-uuid'])
+
+ def test_network_get_all_by_uuids(self):
+ net1 = db.network_create_safe(self.ctxt, {})
+ net2 = db.network_create_safe(self.ctxt, {})
+ self._assertEqualListsOfObjects([net1, net2],
+ db.network_get_all_by_uuids(self.ctxt, [net1.uuid, net2.uuid]))
+
+ def test_network_get_all_no_networks(self):
+ self.assertRaises(exception.NoNetworksFound,
+ db.network_get_all, self.ctxt)
+
+ def test_network_get_all(self):
+ network = db.network_create_safe(self.ctxt, {})
+ network_db = db.network_get_all(self.ctxt)
+ self.assertEqual(1, len(network_db))
+ self._assertEqualObjects(network, network_db[0])
+
+ def test_network_get(self):
+ network = db.network_create_safe(self.ctxt, {})
+ self._assertEqualObjects(db.network_get(self.ctxt, network.id),
+ network)
+ db.network_delete_safe(self.ctxt, network.id)
+ self.assertRaises(exception.NetworkNotFound,
+ db.network_get, self.ctxt, network.id)
+
+ def test_network_associate(self):
+ network = db.network_create_safe(self.ctxt, {})
+ self.assertIsNone(network.project_id)
+ db.network_associate(self.ctxt, "project1", network.id)
+ self.assertEqual("project1", db.network_get(self.ctxt,
+ network.id).project_id)
+
+ def test_network_diassociate(self):
+ network = db.network_create_safe(self.ctxt,
+ {'project_id': 'project1', 'host': 'test.net'})
+ # disassociate project
+ db.network_disassociate(self.ctxt, network.id, False, True)
+ self.assertIsNone(db.network_get(self.ctxt, network.id).project_id)
+ # disassociate host
+ db.network_disassociate(self.ctxt, network.id, True, False)
+ self.assertIsNone(db.network_get(self.ctxt, network.id).host)
+
+ def test_network_count_reserved_ips(self):
+ net = db.network_create_safe(self.ctxt, {})
+ self.assertEqual(0, db.network_count_reserved_ips(self.ctxt, net.id))
+ db.fixed_ip_create(self.ctxt, {'network_id': net.id,
+ 'reserved': True})
+ self.assertEqual(1, db.network_count_reserved_ips(self.ctxt, net.id))
+
+
class KeyPairTestCase(test.TestCase, ModelsObjectComparatorMixin):
def setUp(self):
super(KeyPairTestCase, self).setUp()
@@ -4603,6 +4776,379 @@ class QuotaClassTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.ctxt, 'class name', 'resource', 42)
+class S3ImageTestCase(test.TestCase):
+
+ def setUp(self):
+ super(S3ImageTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+ self.values = [uuidutils.generate_uuid() for i in xrange(3)]
+ self.images = [db.s3_image_create(self.ctxt, uuid)
+ for uuid in self.values]
+
+ def test_s3_image_create(self):
+ for ref in self.images:
+ self.assertTrue(uuidutils.is_uuid_like(ref.uuid))
+ self.assertEqual(sorted(self.values),
+ sorted([ref.uuid for ref in self.images]))
+
+ def test_s3_image_get_by_uuid(self):
+ for uuid in self.values:
+ ref = db.s3_image_get_by_uuid(self.ctxt, uuid)
+ self.assertTrue(uuidutils.is_uuid_like(ref.uuid))
+ self.assertEqual(uuid, ref.uuid)
+
+ def test_s3_image_get(self):
+ self.assertEqual(sorted(self.values),
+ sorted([db.s3_image_get(self.ctxt, ref.id).uuid
+ for ref in self.images]))
+
+ def test_s3_image_get_not_found(self):
+ self.assertRaises(exception.ImageNotFound, db.s3_image_get, self.ctxt,
+ 100500)
+
+ def test_s3_image_get_by_uuid_not_found(self):
+ self.assertRaises(exception.ImageNotFound, db.s3_image_get_by_uuid,
+ self.ctxt, uuidutils.generate_uuid())
+
+
+class ComputeNodeTestCase(test.TestCase, ModelsObjectComparatorMixin):
+
+ _ignored_keys = ['id', 'deleted', 'deleted_at', 'created_at', 'updated_at']
+
+ def setUp(self):
+ super(ComputeNodeTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+ self.service_dict = dict(host='host1', binary='binary1',
+ topic='compute', report_count=1,
+ disabled=False)
+ self.service = db.service_create(self.ctxt, self.service_dict)
+ self.compute_node_dict = dict(vcpus=2, memory_mb=1024, local_gb=2048,
+ vcpus_used=0, memory_mb_used=0,
+ local_gb_used=0, free_ram_mb=1024,
+ free_disk_gb=2048, hypervisor_type="xen",
+ hypervisor_version=1, cpu_info="",
+ running_vms=0, current_workload=0,
+ service_id=self.service['id'],
+ disk_available_least=100,
+ hypervisor_hostname='abracadabra104')
+ # add some random stats
+ self.stats = dict(num_instances=3, num_proj_12345=2,
+ num_proj_23456=2, num_vm_building=3)
+ self.compute_node_dict['stats'] = self.stats
+ self.flags(reserved_host_memory_mb=0)
+ self.flags(reserved_host_disk_mb=0)
+ self.item = db.compute_node_create(self.ctxt, self.compute_node_dict)
+
+ def _stats_as_dict(self, stats):
+ d = {}
+ for s in stats:
+ key = s['key']
+ d[key] = s['value']
+ return d
+
+ def _stats_equal(self, stats, new_stats):
+ for k, v in stats.iteritems():
+ self.assertEqual(v, int(new_stats[k]))
+
+ def test_compute_node_create(self):
+ self._assertEqualObjects(self.compute_node_dict, self.item,
+ ignored_keys=self._ignored_keys + ['stats'])
+ new_stats = self._stats_as_dict(self.item['stats'])
+ self._stats_equal(self.stats, new_stats)
+
+ def test_compute_node_get_all(self):
+ nodes = db.compute_node_get_all(self.ctxt)
+ self.assertEqual(1, len(nodes))
+ node = nodes[0]
+ self._assertEqualObjects(self.compute_node_dict, node,
+ ignored_keys=self._ignored_keys + ['stats', 'service'])
+ new_stats = self._stats_as_dict(node['stats'])
+ self._stats_equal(self.stats, new_stats)
+
+ def test_compute_node_get(self):
+ compute_node_id = self.item['id']
+ node = db.compute_node_get(self.ctxt, compute_node_id)
+ self._assertEqualObjects(self.compute_node_dict, node,
+ ignored_keys=self._ignored_keys + ['stats', 'service'])
+ new_stats = self._stats_as_dict(node['stats'])
+ self._stats_equal(self.stats, new_stats)
+
+ def test_compute_node_update(self):
+ compute_node_id = self.item['id']
+ stats = self._stats_as_dict(self.item['stats'])
+ # change some values:
+ stats['num_instances'] = 8
+ stats['num_tribbles'] = 1
+ values = {
+ 'vcpus': 4,
+ 'stats': stats,
+ }
+ item_updated = db.compute_node_update(self.ctxt, compute_node_id,
+ values)
+ self.assertEqual(4, item_updated['vcpus'])
+ new_stats = self._stats_as_dict(item_updated['stats'])
+ self._stats_equal(stats, new_stats)
+
+ def test_compute_node_delete(self):
+ compute_node_id = self.item['id']
+ db.compute_node_delete(self.ctxt, compute_node_id)
+ nodes = db.compute_node_get_all(self.ctxt)
+ self.assertEqual(len(nodes), 0)
+
+ def test_compute_node_search_by_hypervisor(self):
+ nodes_created = []
+ for i in xrange(3):
+ service = db.service_create(self.ctxt, self.service_dict)
+ self.compute_node_dict['service_id'] = service['id']
+ self.compute_node_dict['hypervisor_hostname'] = 'testhost' + str(i)
+ self.compute_node_dict['stats'] = self.stats
+ node = db.compute_node_create(self.ctxt, self.compute_node_dict)
+ nodes_created.append(node)
+ nodes = db.compute_node_search_by_hypervisor(self.ctxt, 'host')
+ self.assertEqual(3, len(nodes))
+ self._assertEqualListsOfObjects(nodes_created, nodes,
+ ignored_keys=self._ignored_keys + ['stats', 'service'])
+
+ def test_compute_node_statistics(self):
+ stats = db.compute_node_statistics(self.ctxt)
+ self.assertEqual(stats.pop('count'), 1)
+ for k, v in stats.iteritems():
+ self.assertEqual(v, self.item[k])
+
+ def test_compute_node_not_found(self):
+ self.assertRaises(exception.ComputeHostNotFound, db.compute_node_get,
+ self.ctxt, 100500)
+
+ def test_compute_node_update_always_updates_updated_at(self):
+ item_updated = db.compute_node_update(self.ctxt,
+ self.item['id'], {})
+ self.assertNotEqual(self.item['updated_at'],
+ item_updated['updated_at'])
+
+ def test_compute_node_stat_unchanged(self):
+ # don't update unchanged stat values:
+ stats = self.item['stats']
+ stats_updated_at = dict([(stat['key'], stat['updated_at'])
+ for stat in stats])
+ stats_values = self._stats_as_dict(stats)
+ new_values = {'stats': stats_values}
+ compute_node_id = self.item['id']
+ db.compute_node_update(self.ctxt, compute_node_id, new_values)
+ updated_node = db.compute_node_get(self.ctxt, compute_node_id)
+ updated_stats = updated_node['stats']
+ for stat in updated_stats:
+ self.assertEqual(stat['updated_at'], stats_updated_at[stat['key']])
+
+ def test_compute_node_stat_prune(self):
+ for stat in self.item['stats']:
+ if stat['key'] == 'num_instances':
+ num_instance_stat = stat
+ break
+
+ values = {
+ 'stats': dict(num_instances=1)
+ }
+ db.compute_node_update(self.ctxt, self.item['id'], values,
+ prune_stats=True)
+ item_updated = db.compute_node_get_all(self.ctxt)[0]
+ self.assertEqual(1, len(item_updated['stats']))
+
+ stat = item_updated['stats'][0]
+ self.assertEqual(num_instance_stat['id'], stat['id'])
+ self.assertEqual(num_instance_stat['key'], stat['key'])
+ self.assertEqual(1, int(stat['value']))
+
+
+class ProviderFwRuleTestCase(test.TestCase, ModelsObjectComparatorMixin):
+
+ def setUp(self):
+ super(ProviderFwRuleTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+ self.values = self._get_rule_values()
+ self.rules = [db.provider_fw_rule_create(self.ctxt, rule)
+ for rule in self.values]
+
+ def _get_rule_values(self):
+ cidr_samples = ['192.168.0.0/24', '10.1.2.3/32',
+ '2001:4f8:3:ba::/64',
+ '2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128']
+ values = []
+ for i in xrange(len(cidr_samples)):
+ rule = {}
+ rule['protocol'] = 'foo' + str(i)
+ rule['from_port'] = 9999 + i
+ rule['to_port'] = 9898 + i
+ rule['cidr'] = cidr_samples[i]
+ values.append(rule)
+ return values
+
+ def test_provider_fw_rule_create(self):
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'created_at',
+ 'updated_at']
+ for i, rule in enumerate(self.values):
+ self._assertEqualObjects(self.rules[i], rule,
+ ignored_keys=ignored_keys)
+
+ def test_provider_fw_rule_get_all(self):
+ self._assertEqualListsOfObjects(self.rules,
+ db.provider_fw_rule_get_all(self.ctxt))
+
+ def test_provider_fw_rule_destroy(self):
+ for rule in self.rules:
+ db.provider_fw_rule_destroy(self.ctxt, rule.id)
+ 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']
+
+ def setUp(self):
+ super(CellTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def _get_cell_base_values(self):
+ return {
+ 'name': 'myname',
+ 'api_url': 'apiurl',
+ 'username': 'user',
+ 'password': 'passwd',
+ 'weight_offset': 0.5,
+ 'weight_scale': 1.5,
+ 'is_parent': True,
+ 'rpc_host': 'rpchost',
+ 'rpc_port': 9999,
+ 'rpc_virtual_host': 'virthost'
+ }
+
+ def _cell_value_modify(self, value, step):
+ if isinstance(value, str):
+ return value + str(step)
+ elif isinstance(value, float):
+ return value + step + 0.6
+ elif isinstance(value, bool):
+ return bool(step % 2)
+ elif isinstance(value, int):
+ return value + step
+
+ def _create_cells(self):
+ test_values = []
+ for x in xrange(1, 4):
+ modified_val = dict([(k, self._cell_value_modify(v, x))
+ for k, v in self._get_cell_base_values().iteritems()])
+ db.cell_create(self.ctxt, modified_val)
+ test_values.append(modified_val)
+ return test_values
+
+ def test_cell_create(self):
+ cell = db.cell_create(self.ctxt, self._get_cell_base_values())
+ self.assertFalse(cell['id'] is None)
+ self._assertEqualObjects(cell, self._get_cell_base_values(),
+ ignored_keys=self._ignored_keys)
+
+ def test_cell_update(self):
+ db.cell_create(self.ctxt, self._get_cell_base_values())
+ new_values = {
+ 'api_url': 'apiurl1',
+ 'username': 'user1',
+ 'password': 'passwd1',
+ 'weight_offset': 0.6,
+ 'weight_scale': 1.6,
+ 'is_parent': False,
+ 'rpc_host': 'rpchost1',
+ 'rpc_port': 10000,
+ 'rpc_virtual_host': 'virthost1'
+ }
+ test_cellname = self._get_cell_base_values()['name']
+ db.cell_update(self.ctxt, test_cellname, new_values)
+ updated_cell = db.cell_get(self.ctxt, test_cellname)
+ self._assertEqualObjects(updated_cell, new_values,
+ ignored_keys=self._ignored_keys + ['name'])
+
+ def test_cell_delete(self):
+ new_cells = self._create_cells()
+ for cell in new_cells:
+ test_cellname = cell['name']
+ db.cell_delete(self.ctxt, test_cellname)
+ self.assertRaises(exception.CellNotFound, db.cell_get, self.ctxt,
+ test_cellname)
+
+ def test_cell_get(self):
+ new_cells = self._create_cells()
+ for cell in new_cells:
+ cell_get = db.cell_get(self.ctxt, cell['name'])
+ self._assertEqualObjects(cell_get, cell,
+ ignored_keys=self._ignored_keys)
+
+ def test_cell_get_all(self):
+ new_cells = self._create_cells()
+ cells = db.cell_get_all(self.ctxt)
+ self.assertEqual(len(new_cells), len(cells))
+ cells_byname = dict([(newcell['name'],
+ newcell) for newcell in new_cells])
+ for cell in cells:
+ self._assertEqualObjects(cell, cells_byname[cell['name']],
+ self._ignored_keys)
+
+ def test_cell_get_not_found(self):
+ self._create_cells()
+ self.assertRaises(exception.CellNotFound, db.cell_get, self.ctxt,
+ 'cellnotinbase')
+
+ def test_cell_update_not_found(self):
+ self._create_cells()
+ 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):
def setUp(self):
@@ -4900,3 +5446,367 @@ class ArchiveTestCase(test.TestCase):
siim_rows = self.conn.execute(qsiim).fetchall()
si_rows = self.conn.execute(qsi).fetchall()
self.assertEqual(len(siim_rows) + len(si_rows), 8)
+
+
+class InstanceGroupDBApiTestCase(test.TestCase, ModelsObjectComparatorMixin):
+ def setUp(self):
+ super(InstanceGroupDBApiTestCase, self).setUp()
+ self.user_id = 'fake_user'
+ self.project_id = 'fake_project'
+ self.context = context.RequestContext(self.user_id, self.project_id)
+
+ def _get_default_values(self):
+ return {'name': 'fake_name',
+ 'user_id': self.user_id,
+ 'project_id': self.project_id}
+
+ def _create_instance_group(self, context, values, policies=None,
+ metadata=None, members=None):
+ return db.instance_group_create(context, values, policies=policies,
+ metadata=metadata, members=members)
+
+ def test_instance_group_create_no_key(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ ignored_keys = ['id', 'uuid', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+ self.assertTrue(uuidutils.is_uuid_like(result['uuid']))
+
+ def test_instance_group_create_with_key(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+
+ def test_instance_group_create_with_same_key(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ self.assertRaises(exception.InstanceGroupIdExists,
+ self._create_instance_group, self.context, values)
+
+ def test_instance_group_get(self):
+ values = self._get_default_values()
+ result1 = self._create_instance_group(self.context, values)
+ result2 = db.instance_group_get(self.context, result1['uuid'])
+ self._assertEqualObjects(result1, result2)
+
+ def test_instance_group_update_simple(self):
+ values = self._get_default_values()
+ result1 = self._create_instance_group(self.context, values)
+ values = {'name': 'new_name', 'user_id': 'new_user',
+ 'project_id': 'new_project'}
+ db.instance_group_update(self.context, result1['uuid'],
+ values)
+ result2 = db.instance_group_get(self.context, result1['uuid'])
+ self.assertEquals(result1['uuid'], result2['uuid'])
+ ignored_keys = ['id', 'uuid', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result2, values, ignored_keys)
+
+ def test_instance_group_delete(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ db.instance_group_delete(self.context, result['uuid'])
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_get, self.context, result['uuid'])
+
+ def test_instance_group_get_all(self):
+ groups = db.instance_group_get_all(self.context)
+ self.assertEquals(0, len(groups))
+ value = self._get_default_values()
+ result1 = self._create_instance_group(self.context, value)
+ groups = db.instance_group_get_all(self.context)
+ self.assertEquals(1, len(groups))
+ value = self._get_default_values()
+ result2 = self._create_instance_group(self.context, value)
+ groups = db.instance_group_get_all(self.context)
+ results = [result1, result2]
+ self._assertEqualListsOfObjects(results, groups)
+
+ def test_instance_group_get_all_by_project_id(self):
+ groups = db.instance_group_get_all_by_project_id(self.context,
+ 'invalid_project_id')
+ self.assertEquals(0, len(groups))
+ values = self._get_default_values()
+ result1 = self._create_instance_group(self.context, values)
+ groups = db.instance_group_get_all_by_project_id(self.context,
+ 'fake_project')
+ self.assertEquals(1, len(groups))
+ values = self._get_default_values()
+ values['project_id'] = 'new_project_id'
+ result2 = self._create_instance_group(self.context, values)
+ groups = db.instance_group_get_all(self.context)
+ results = [result1, result2]
+ self._assertEqualListsOfObjects(results, groups)
+ projects = [{'name': 'fake_project', 'value': [result1]},
+ {'name': 'new_project_id', 'value': [result2]}]
+ for project in projects:
+ groups = db.instance_group_get_all_by_project_id(self.context,
+ project['name'])
+ self._assertEqualListsOfObjects(project['value'], groups)
+
+ def test_instance_group_update(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ ignored_keys = ['id', 'uuid', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+ self.assertTrue(uuidutils.is_uuid_like(result['uuid']))
+ id = result['uuid']
+ values = self._get_default_values()
+ values['name'] = 'new_fake_name'
+ db.instance_group_update(self.context, id, values)
+ result = db.instance_group_get(self.context, id)
+ self.assertEquals(result['name'], 'new_fake_name')
+ # update metadata
+ values = self._get_default_values()
+ metadataInput = {'key11': 'value1',
+ 'key12': 'value2'}
+ values['metadata'] = metadataInput
+ db.instance_group_update(self.context, id, values)
+ result = db.instance_group_get(self.context, id)
+ metadata = result['metadetails']
+ self._assertEqualObjects(metadata, metadataInput)
+ # update update members
+ values = self._get_default_values()
+ members = ['instance_id1', 'instance_id2']
+ values['members'] = members
+ db.instance_group_update(self.context, id, values)
+ result = db.instance_group_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(result['members'], members)
+ # update update policies
+ values = self._get_default_values()
+ policies = ['policy1', 'policy2']
+ values['policies'] = policies
+ db.instance_group_update(self.context, id, values)
+ result = db.instance_group_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(result['policies'], policies)
+ # test invalid ID
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_update, self.context,
+ 'invalid_id', values)
+
+
+class InstanceGroupMetadataDBApiTestCase(InstanceGroupDBApiTestCase):
+ def test_instance_group_metadata_on_create(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ metadata = {'key11': 'value1',
+ 'key12': 'value2'}
+ result = self._create_instance_group(self.context, values,
+ metadata=metadata)
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+ self._assertEqualObjects(metadata, result['metadetails'])
+
+ def test_instance_group_metadata_add(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ metadata = db.instance_group_metadata_get(self.context, id)
+ self._assertEqualObjects(metadata, {})
+ metadata = {'key1': 'value1',
+ 'key2': 'value2'}
+ db.instance_group_metadata_add(self.context, id, metadata)
+ metadata2 = db.instance_group_metadata_get(self.context, id)
+ self._assertEqualObjects(metadata, metadata2)
+
+ def test_instance_group_update(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ metadata = {'key1': 'value1',
+ 'key2': 'value2'}
+ db.instance_group_metadata_add(self.context, id, metadata)
+ metadata2 = db.instance_group_metadata_get(self.context, id)
+ self._assertEqualObjects(metadata, metadata2)
+ # check add with existing keys
+ metadata = {'key1': 'value1',
+ 'key2': 'value2',
+ 'key3': 'value3'}
+ db.instance_group_metadata_add(self.context, id, metadata)
+ metadata3 = db.instance_group_metadata_get(self.context, id)
+ self._assertEqualObjects(metadata, metadata3)
+
+ def test_instance_group_delete(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ metadata = {'key1': 'value1',
+ 'key2': 'value2',
+ 'key3': 'value3'}
+ db.instance_group_metadata_add(self.context, id, metadata)
+ metadata3 = db.instance_group_metadata_get(self.context, id)
+ self._assertEqualObjects(metadata, metadata3)
+ db.instance_group_metadata_delete(self.context, id, 'key1')
+ metadata = db.instance_group_metadata_get(self.context, id)
+ self.assertTrue('key1' not in metadata)
+ db.instance_group_metadata_delete(self.context, id, 'key2')
+ metadata = db.instance_group_metadata_get(self.context, id)
+ self.assertTrue('key2' not in metadata)
+
+ def test_instance_group_metadata_invalid_ids(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_metadata_get,
+ self.context, 'invalid')
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_metadata_delete, self.context,
+ 'invalidid', 'key1')
+ metadata = {'key1': 'value1',
+ 'key2': 'value2'}
+ db.instance_group_metadata_add(self.context, id, metadata)
+ self.assertRaises(exception.InstanceGroupMetadataNotFound,
+ db.instance_group_metadata_delete,
+ self.context, id, 'invalidkey')
+
+
+class InstanceGroupMembersDBApiTestCase(InstanceGroupDBApiTestCase):
+ def test_instance_group_members_on_create(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ members = ['instance_id1', 'instance_id2']
+ result = self._create_instance_group(self.context, values,
+ members=members)
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+ self._assertEqualListsOfPrimitivesAsSets(result['members'], members)
+
+ def test_instance_group_members_add(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ members = db.instance_group_members_get(self.context, id)
+ self.assertEquals(members, [])
+ members2 = ['instance_id1', 'instance_id2']
+ db.instance_group_members_add(self.context, id, members2)
+ members = db.instance_group_members_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(members, members2)
+
+ def test_instance_group_members_update(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ members2 = ['instance_id1', 'instance_id2']
+ db.instance_group_members_add(self.context, id, members2)
+ members = db.instance_group_members_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(members, members2)
+ # check add with existing keys
+ members3 = ['instance_id1', 'instance_id2', 'instance_id3']
+ db.instance_group_members_add(self.context, id, members3)
+ members = db.instance_group_members_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(members, members3)
+
+ def test_instance_group_members_delete(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ members3 = ['instance_id1', 'instance_id2', 'instance_id3']
+ db.instance_group_members_add(self.context, id, members3)
+ members = db.instance_group_members_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(members, members3)
+ for instance_id in members3[:]:
+ db.instance_group_member_delete(self.context, id, instance_id)
+ members3.remove(instance_id)
+ members = db.instance_group_members_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(members, members3)
+
+ def test_instance_group_members_invalid_ids(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_members_get,
+ self.context, 'invalid')
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_member_delete, self.context,
+ 'invalidid', 'instance_id1')
+ members = ['instance_id1', 'instance_id2']
+ db.instance_group_members_add(self.context, id, members)
+ self.assertRaises(exception.InstanceGroupMemberNotFound,
+ db.instance_group_member_delete,
+ self.context, id, 'invalid_id')
+
+
+class InstanceGroupPoliciesDBApiTestCase(InstanceGroupDBApiTestCase):
+ def test_instance_group_policies_on_create(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ policies = ['policy1', 'policy2']
+ result = self._create_instance_group(self.context, values,
+ policies=policies)
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'updated_at',
+ 'created_at']
+ self._assertEqualObjects(result, values, ignored_keys)
+ self._assertEqualListsOfPrimitivesAsSets(result['policies'], policies)
+
+ def test_instance_group_policies_add(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ policies = db.instance_group_policies_get(self.context, id)
+ self.assertEquals(policies, [])
+ policies2 = ['policy1', 'policy2']
+ db.instance_group_policies_add(self.context, id, policies2)
+ policies = db.instance_group_policies_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(policies, policies2)
+
+ def test_instance_group_policies_update(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ policies2 = ['policy1', 'policy2']
+ db.instance_group_policies_add(self.context, id, policies2)
+ policies = db.instance_group_policies_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(policies, policies2)
+ policies3 = ['policy1', 'policy2', 'policy3']
+ db.instance_group_policies_add(self.context, id, policies3)
+ policies = db.instance_group_policies_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(policies, policies3)
+
+ def test_instance_group_policies_delete(self):
+ values = self._get_default_values()
+ values['uuid'] = 'fake_id'
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ policies3 = ['policy1', 'policy2', 'policy3']
+ db.instance_group_policies_add(self.context, id, policies3)
+ policies = db.instance_group_policies_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(policies, policies3)
+ for policy in policies3[:]:
+ db.instance_group_policy_delete(self.context, id, policy)
+ policies3.remove(policy)
+ policies = db.instance_group_policies_get(self.context, id)
+ self._assertEqualListsOfPrimitivesAsSets(policies, policies3)
+
+ def test_instance_group_policies_invalid_ids(self):
+ values = self._get_default_values()
+ result = self._create_instance_group(self.context, values)
+ id = result['uuid']
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_policies_get,
+ self.context, 'invalid')
+ self.assertRaises(exception.InstanceGroupNotFound,
+ db.instance_group_policy_delete, self.context,
+ 'invalidid', 'policy1')
+ policies = ['policy1', 'policy2']
+ db.instance_group_policies_add(self.context, id, policies)
+ self.assertRaises(exception.InstanceGroupPolicyNotFound,
+ db.instance_group_policy_delete,
+ self.context, id, 'invalid_policy')
diff --git a/nova/tests/db/test_migrations.py b/nova/tests/db/test_migrations.py
index 973f5088c..a9ea29e69 100644
--- a/nova/tests/db/test_migrations.py
+++ b/nova/tests/db/test_migrations.py
@@ -62,6 +62,7 @@ import nova.db.sqlalchemy.migrate_repo
from nova.db.sqlalchemy import utils as db_utils
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
+from nova.openstack.common import uuidutils
from nova import test
from nova import utils
import nova.virt.baremetal.db.sqlalchemy.migrate_repo
@@ -706,8 +707,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
'task_name': 'The name of the task',
'state': 'The state of the task',
'host': 'compute-host1',
- 'period_beginning': str(datetime.datetime(2013, 02, 11)),
- 'period_ending': str(datetime.datetime(2013, 02, 12)),
+ 'period_beginning': str(datetime.datetime(2013, 2, 11)),
+ 'period_ending': str(datetime.datetime(2013, 2, 12)),
'message': 'The task_log message',
}
result = task_log.insert().values(data).execute()
@@ -1416,6 +1417,261 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertTrue(db_utils.check_shadow_table(engine, 'floating_ips'))
self.assertTrue(db_utils.check_shadow_table(engine, 'console_pools'))
+ def _unique_constraint_check_migrate_185(self, engine, check=True):
+ """Test check unique constraint behavior.
+
+ It should be the same before and after migration because we
+ changed their names only.
+ """
+
+ data_list = [
+ ("floating_ips", {'address': '10.12.14.16', 'deleted': 0}),
+ ("instance_info_caches", {'instance_uuid': 'm161-uuid1'}),
+ ('instance_type_projects', {'instance_type_id': 1,
+ 'project_id': '116', 'deleted': 0}),
+ ('instance_types', {'flavorid': "flavorid_12", 'deleted': 0,
+ 'memory_mb': 64, 'vcpus': 10, 'swap': 100}),
+ ('instance_types', {'name': "name_123", 'deleted': 0,
+ 'memory_mb': 128, 'vcpus': 11, 'swap': 300}),
+ ('key_pairs', {'user_id': 1, 'name': "name_qwer", 'deleted': 0}),
+ ('networks', {'vlan': '123', 'deleted': 0}),
+ ('task_log', {'task_name': 'task_123', 'host': 'localhost',
+ 'period_beginning': datetime.datetime(2013, 2, 11),
+ 'period_ending': datetime.datetime(2015, 1, 1),
+ 'state': 'state_1', 'message': 'msg_1'}),
+ ('virtual_interfaces', {'address': '192.168.0.0'})
+ ]
+
+ for table_name, data in data_list:
+ table = db_utils.get_table(engine, table_name)
+ if not check:
+ table.insert().values(data).execute()
+ else:
+ # we replace values for some columns because they don't
+ # belong to unique constraint
+ if table_name == "instance_types":
+ for key in ("memory_mb", "vcpus", "swap"):
+ data[key] = data[key] * 2
+ if table_name == "task_log":
+ data["message"] = 'msg_2'
+ data["state"] = 'state_2'
+
+ self.assertRaises(sqlalchemy.exc.IntegrityError,
+ table.insert().execute, data)
+
+ def _pre_upgrade_185(self, engine):
+ self._unique_constraint_check_migrate_185(engine, False)
+
+ def check_185(self, engine):
+ self._unique_constraint_check_migrate_185(engine)
+
+ def _post_downgrade_185(self, engine):
+ self._unique_constraint_check_migrate_185(engine)
+
+ def _pre_upgrade_186(self, engine):
+ fake_instances = [
+ dict(uuid='mig186_uuid-1', image_ref='fake_image_1',
+ root_device_name='/dev/vda'),
+ dict(uuid='mig186_uuid-2', image_ref='',
+ root_device_name='vda'),
+ dict(uuid='mig186_uuid-3', image_ref='fake_image_2',
+ root_device_name='/dev/vda'),
+ ]
+
+ fake_bdms = [
+ # Instance 1 - image, volume and swap
+ dict(instance_uuid='mig186_uuid-1', device_name='/dev/vdc',
+ volume_id='fake_volume_1'),
+ dict(instance_uuid='mig186_uuid-1', device_name='/dev/vdb',
+ virtual_name='swap'),
+ # Instance 2 - no image. snapshot and volume
+ dict(instance_uuid='mig186_uuid-2', device_name='/dev/vda',
+ snapshot_id='fake_snap_1', volume_id='fake_volume_2'),
+ dict(instance_uuid='mig186_uuid-2', device_name='/dev/vdc',
+ volume_id='fake_volume_3'),
+ # Instance 3 - ephemerals and swap
+ dict(instance_uuid='mig186_uuid-3', device_name='/dev/vdc',
+ virtual_name='ephemeral0'),
+ dict(instance_uuid='mig186_uuid-3', device_name='/dev/vdd',
+ virtual_name='ephemeral1'),
+ dict(instance_uuid='mig186_uuid-3', device_name='/dev/vdb',
+ virtual_name='swap'),
+ ]
+
+ instances = db_utils.get_table(engine, 'instances')
+ block_device = db_utils.get_table(engine, 'block_device_mapping')
+ engine.execute(instances.insert(), fake_instances)
+ for fake_bdm in fake_bdms:
+ engine.execute(block_device.insert(), fake_bdm)
+
+ return fake_instances, fake_bdms
+
+ def _check_186(self, engine, data):
+ block_device = db_utils.get_table(engine, 'block_device_mapping')
+
+ instance_qs = []
+
+ for instance in ('mig186_uuid-1', 'mig186_uuid-2', 'mig186_uuid-3'):
+ q = block_device.select().where(
+ block_device.c.instance_uuid == instance).order_by(
+ block_device.c.id.asc()
+ )
+ instance_qs.append(q)
+
+ bdm_1s, bdm_2s, bdm_3s = (
+ [bdm for bdm in q.execute()]
+ for q in instance_qs
+ )
+
+ self.assertEqual(len(bdm_1s), 3)
+ self.assertEqual(len(bdm_2s), 2)
+ self.assertEqual(len(bdm_3s), 4)
+
+ # Instance 1
+ self.assertEqual(bdm_1s[0].source_type, 'volume')
+ self.assertEqual(bdm_1s[0].destination_type, 'volume')
+ self.assertEqual(bdm_1s[0].volume_id, 'fake_volume_1')
+ self.assertEqual(bdm_1s[0].device_type, 'disk')
+ self.assertEqual(bdm_1s[0].boot_index, -1)
+ self.assertEqual(bdm_1s[0].device_name, '/dev/vdc')
+
+ self.assertEqual(bdm_1s[1].source_type, 'blank')
+ self.assertEqual(bdm_1s[1].guest_format, 'swap')
+ self.assertEqual(bdm_1s[1].destination_type, 'local')
+ self.assertEqual(bdm_1s[1].device_type, 'disk')
+ self.assertEqual(bdm_1s[1].boot_index, -1)
+ self.assertEqual(bdm_1s[1].device_name, '/dev/vdb')
+
+ self.assertEqual(bdm_1s[2].source_type, 'image')
+ self.assertEqual(bdm_1s[2].destination_type, 'local')
+ self.assertEqual(bdm_1s[2].device_type, 'disk')
+ self.assertEqual(bdm_1s[2].image_id, 'fake_image_1')
+ self.assertEqual(bdm_1s[2].boot_index, 0)
+
+ # Instance 2
+ self.assertEqual(bdm_2s[0].source_type, 'snapshot')
+ self.assertEqual(bdm_2s[0].destination_type, 'volume')
+ self.assertEqual(bdm_2s[0].snapshot_id, 'fake_snap_1')
+ self.assertEqual(bdm_2s[0].volume_id, 'fake_volume_2')
+ self.assertEqual(bdm_2s[0].device_type, 'disk')
+ self.assertEqual(bdm_2s[0].boot_index, 0)
+ self.assertEqual(bdm_2s[0].device_name, '/dev/vda')
+
+ self.assertEqual(bdm_2s[1].source_type, 'volume')
+ self.assertEqual(bdm_2s[1].destination_type, 'volume')
+ self.assertEqual(bdm_2s[1].volume_id, 'fake_volume_3')
+ self.assertEqual(bdm_2s[1].device_type, 'disk')
+ self.assertEqual(bdm_2s[1].boot_index, -1)
+ self.assertEqual(bdm_2s[1].device_name, '/dev/vdc')
+
+ # Instance 3
+ self.assertEqual(bdm_3s[0].source_type, 'blank')
+ self.assertEqual(bdm_3s[0].destination_type, 'local')
+ self.assertEqual(bdm_3s[0].device_type, 'disk')
+ self.assertEqual(bdm_3s[0].boot_index, -1)
+ self.assertEqual(bdm_3s[0].device_name, '/dev/vdc')
+
+ self.assertEqual(bdm_3s[1].source_type, 'blank')
+ self.assertEqual(bdm_3s[1].destination_type, 'local')
+ self.assertEqual(bdm_3s[1].device_type, 'disk')
+ self.assertEqual(bdm_3s[1].boot_index, -1)
+ self.assertEqual(bdm_3s[1].device_name, '/dev/vdd')
+
+ self.assertEqual(bdm_3s[2].source_type, 'blank')
+ self.assertEqual(bdm_3s[2].guest_format, 'swap')
+ self.assertEqual(bdm_3s[2].destination_type, 'local')
+ self.assertEqual(bdm_3s[2].device_type, 'disk')
+ self.assertEqual(bdm_3s[2].boot_index, -1)
+ self.assertEqual(bdm_3s[2].device_name, '/dev/vdb')
+
+ self.assertEqual(bdm_3s[3].source_type, 'image')
+ self.assertEqual(bdm_3s[3].destination_type, 'local')
+ self.assertEqual(bdm_3s[3].device_type, 'disk')
+ self.assertEqual(bdm_3s[3].image_id, 'fake_image_2')
+ self.assertEqual(bdm_3s[3].boot_index, 0)
+
+ # addition of the vm instance groups
+ def _check_no_group_instance_tables(self, engine):
+ self.assertRaises(sqlalchemy.exc.NoSuchTableError,
+ db_utils.get_table, engine,
+ 'instance_groups')
+ self.assertRaises(sqlalchemy.exc.NoSuchTableError,
+ db_utils.get_table, engine,
+ 'instance_group_member')
+ self.assertRaises(sqlalchemy.exc.NoSuchTableError,
+ db_utils.get_table, engine,
+ 'instance_group_policy')
+ self.assertRaises(sqlalchemy.exc.NoSuchTableError,
+ db_utils.get_table, engine,
+ 'instance_group_metadata')
+
+ def _check_group_instance_groups(self, engine):
+ groups = db_utils.get_table(engine, 'instance_groups')
+ uuid4 = uuidutils.generate_uuid()
+ uuid5 = uuidutils.generate_uuid()
+ group_data = [
+ {'id': 4, 'deleted': 4, 'uuid': uuid4},
+ {'id': 5, 'deleted': 0, 'uuid': uuid5},
+ ]
+ engine.execute(groups.insert(), group_data)
+ group = groups.select(groups.c.id == 4).execute().first()
+ self.assertEqual(4, group.deleted)
+ group = groups.select(groups.c.id == 5).execute().first()
+ self.assertEqual(0, group.deleted)
+
+ def _pre_upgrade_187(self, engine):
+ self._check_no_group_instance_tables(engine)
+
+ def _check_187(self, engine, data):
+ self._check_group_instance_groups(engine)
+ tables = ['instance_group_policy', 'instance_group_metadata',
+ 'instance_group_member']
+ for table in tables:
+ db_utils.get_table(engine, table)
+
+ def _post_downgrade_187(self, engine):
+ # check that groups does not exist
+ self._check_no_group_instance_tables(engine)
+
+ def _check_188(self, engine, data):
+ services = db_utils.get_table(engine, 'services')
+ rows = services.select().execute().fetchall()
+ self.assertEqual(rows[0]['disabled_reason'], None)
+
+ def _post_downgrade_188(self, engine):
+ services = db_utils.get_table(engine, 'services')
+ 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."""
@@ -1519,6 +1775,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_instance.py b/nova/tests/fake_instance.py
index b63d16555..a8004364a 100644
--- a/nova/tests/fake_instance.py
+++ b/nova/tests/fake_instance.py
@@ -21,6 +21,7 @@ from nova.objects import instance as instance_obj
def fake_db_instance(**updates):
db_instance = {
'id': 1,
+ 'deleted': False,
'uuid': str(uuid.uuid4()),
'user_id': 'fake-user',
'project_id': 'fake-project',
diff --git a/nova/tests/fake_ldap.py b/nova/tests/fake_ldap.py
index 7b587ffe2..d7d1df9c5 100644
--- a/nova/tests/fake_ldap.py
+++ b/nova/tests/fake_ldap.py
@@ -57,8 +57,10 @@ class _StorageDict(dict):
self.clear()
def hgetall(self, key):
- """Returns the hash for the given key; creates
- the hash if the key doesn't exist."""
+ """Returns the hash for the given key
+
+ Creates the hash if the key doesn't exist.
+ """
try:
return self[key]
except KeyError:
diff --git a/nova/tests/fake_network.py b/nova/tests/fake_network.py
index 42ce71ded..79af362bb 100644
--- a/nova/tests/fake_network.py
+++ b/nova/tests/fake_network.py
@@ -406,8 +406,11 @@ def set_stub_network_methods(stubs):
def fake_networkinfo(*args, **kwargs):
return network_model.NetworkInfo()
+ def fake_async_networkinfo(*args, **kwargs):
+ return network_model.NetworkInfoAsyncWrapper(fake_networkinfo)
+
stubs.Set(cm, '_get_instance_nw_info', fake_networkinfo)
- stubs.Set(cm, '_allocate_network', fake_networkinfo)
+ stubs.Set(cm, '_allocate_network', fake_async_networkinfo)
stubs.Set(cm, '_deallocate_network', lambda *args, **kwargs: None)
diff --git a/nova/tests/fake_policy.py b/nova/tests/fake_policy.py
index fbee402fa..d4264153c 100644
--- a/nova/tests/fake_policy.py
+++ b/nova/tests/fake_policy.py
@@ -112,6 +112,7 @@ policy_data = """
"compute_extension:baremetal_nodes": "",
"compute_extension:cells": "",
"compute_extension:certificates": "",
+ "compute_extension:v3:os-certificates": "",
"compute_extension:cloudpipe": "",
"compute_extension:cloudpipe_update": "",
"compute_extension:config_drive": "",
@@ -122,6 +123,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": "",
@@ -187,7 +189,7 @@ policy_data = """
"compute_extension:zones": "",
"compute_extension:availability_zone:list": "",
"compute_extension:availability_zone:detail": "is_admin:True",
-
+ "compute_extension:used_limits_for_admin": "is_admin:True",
"volume:create": "",
"volume:get": "",
diff --git a/nova/tests/fakeguestfs.py b/nova/tests/fakeguestfs.py
index 2ffc50227..8add963d1 100644
--- a/nova/tests/fakeguestfs.py
+++ b/nova/tests/fakeguestfs.py
@@ -62,7 +62,7 @@ class GuestFS(object):
"isdir": True,
"gid": 100,
"uid": 100,
- "mode": 0700
+ "mode": 0o700
}
def read_file(self, path):
@@ -72,7 +72,7 @@ class GuestFS(object):
"content": "Hello World",
"gid": 100,
"uid": 100,
- "mode": 0700
+ "mode": 0o700
}
return self.files[path]["content"]
@@ -84,7 +84,7 @@ class GuestFS(object):
"content": "Hello World",
"gid": 100,
"uid": 100,
- "mode": 0700
+ "mode": 0o700
}
self.files[path]["content"] = content
@@ -96,7 +96,7 @@ class GuestFS(object):
"content": "Hello World",
"gid": 100,
"uid": 100,
- "mode": 0700
+ "mode": 0o700
}
self.files[path]["content"] = self.files[path]["content"] + content
diff --git a/nova/tests/image/fake.py b/nova/tests/image/fake.py
index d2d80ab35..13d21d524 100644
--- a/nova/tests/image/fake.py
+++ b/nova/tests/image/fake.py
@@ -40,7 +40,7 @@ class _FakeImageService(object):
self.images = {}
# NOTE(justinsb): The OpenStack API can't upload an image?
# So, make sure we've got one..
- timestamp = datetime.datetime(2011, 01, 01, 01, 02, 03)
+ timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3)
image1 = {'id': '155d900f-4e14-4e4c-a73d-069cbf4541e6',
'name': 'fakeimage123456',
diff --git a/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl b/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl
index 0ce9829a7..b2aa73c6a 100644
--- a/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl
+++ b/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl
@@ -361,6 +361,14 @@
"updated": "%(timestamp)s"
},
{
+ "alias": "os-extended-services",
+ "description": "%(text)s",
+ "links": [],
+ "name": "ExtendedServices",
+ "namespace": "http://docs.openstack.org/compute/ext/extended_services/api/v2",
+ "updated": "%(timestamp)s"
+ },
+ {
"alias": "os-fping",
"description": "%(text)s",
"links": [],
@@ -437,7 +445,7 @@
"description": "%(text)s",
"links": [],
"name": "ExtendedQuotas",
- "namespace": "http://docs.openstack.org/compute/ext/quota-delete/api/v1.1",
+ "namespace": "http://docs.openstack.org/compute/ext/extended_quotas/api/v1.1",
"updated": "%(timestamp)s"
},
{
@@ -513,6 +521,14 @@
"updated": "%(timestamp)s"
},
{
+ "alias": "os-used-limits-for-admin",
+ "description": "%(text)s",
+ "links": [],
+ "name": "UsedLimitsForAdmin",
+ "namespace": "http://docs.openstack.org/compute/ext/used_limits_for_admin/api/v1.1",
+ "updated": "%(timestamp)s"
+ },
+ {
"alias": "os-user-data",
"description": "%(text)s",
"links": [],
diff --git a/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.xml.tpl b/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.xml.tpl
index 9f3199418..e9670d650 100644
--- a/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.xml.tpl
+++ b/nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.xml.tpl
@@ -135,6 +135,9 @@
<extension alias="os-services" name="Services" namespace="http://docs.openstack.org/compute/ext/services/api/v2" updated="%(timestamp)s">
<description>%(text)s</description>
</extension>
+ <extension alias="os-extended-services" name="ExtendedServices" namespace="http://docs.openstack.org/compute/ext/extended_services/api/v2" updated="%(timestamp)s">
+ <description>%(text)s</description>
+ </extension>
<extension alias="os-fping" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/fping/api/v1.1" name="Fping">
<description>%(text)s</description>
</extension>
@@ -162,7 +165,7 @@
<extension alias="os-quota-class-sets" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1" name="QuotaClasses">
<description>%(text)s</description>
</extension>
- <extension alias="os-extended-quotas" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/quota-delete/api/v1.1" name="ExtendedQuotas">
+ <extension alias="os-extended-quotas" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/extended_quotas/api/v1.1" name="ExtendedQuotas">
<description>%(text)s</description>
</extension>
<extension alias="os-quota-sets" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1" name="Quotas">
@@ -192,6 +195,9 @@
<extension alias="os-used-limits" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" name="UsedLimits">
<description>%(text)s</description>
</extension>
+ <extension alias="os-used-limits-for-admin" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/used_limits_for_admin/api/v1.1" name="UsedLimitsForAdmin">
+ <description>%(text)s</description>
+ </extension>
<extension alias="os-user-data" updated="%(timestamp)s" namespace="http://docs.openstack.org/compute/ext/userdata/api/v1.1" name="UserData">
<description>%(text)s</description>
</extension>
diff --git a/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.json.tpl b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.json.tpl
new file mode 100644
index 000000000..a58a17912
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.json.tpl
@@ -0,0 +1,6 @@
+{
+ "quota_set": {
+ "force": "True",
+ "instances": 45
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.xml.tpl b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.xml.tpl
new file mode 100644
index 000000000..499b890f0
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-req.xml.tpl
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<quota_set id="fake_tenant">
+ <force>True</force>
+ <instances>45</instances>
+</quota_set> \ No newline at end of file
diff --git a/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.json.tpl b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.json.tpl
new file mode 100644
index 000000000..c882a8cb1
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.json.tpl
@@ -0,0 +1,16 @@
+{
+ "quota_set": {
+ "cores": 20,
+ "floating_ips": 10,
+ "fixed_ips": -1,
+ "injected_file_content_bytes": 10240,
+ "injected_file_path_bytes": 255,
+ "injected_files": 5,
+ "instances": 45,
+ "key_pairs": 100,
+ "metadata_items": 128,
+ "ram": 51200,
+ "security_group_rules": 20,
+ "security_groups": 10
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.xml.tpl b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.xml.tpl
new file mode 100644
index 000000000..b8c4c0d83
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-extended-quotas/quotas-update-post-resp.xml.tpl
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<quota_set>
+ <cores>20</cores>
+ <floating_ips>10</floating_ips>
+ <fixed_ips>-1</fixed_ips>
+ <injected_file_content_bytes>10240</injected_file_content_bytes>
+ <injected_file_path_bytes>255</injected_file_path_bytes>
+ <injected_files>5</injected_files>
+ <instances>45</instances>
+ <key_pairs>100</key_pairs>
+ <metadata_items>128</metadata_items>
+ <ram>51200</ram>
+ <security_group_rules>20</security_group_rules>
+ <security_groups>10</security_groups>
+</quota_set>
diff --git a/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.json.tpl b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.json.tpl
new file mode 100644
index 000000000..13ba2f11c
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.json.tpl
@@ -0,0 +1,5 @@
+{
+ "host": "%(host)s",
+ "binary": "%(binary)s",
+ "disabled_reason": "%(disabled_reason)s"
+}
diff --git a/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.xml.tpl b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.xml.tpl
new file mode 100644
index 000000000..a1ffd7e20
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-req.xml.tpl
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<service host="%(host)s" binary="%(binary)s" disabled_reason="%(disabled_reason)s"/>
diff --git a/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.json.tpl b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.json.tpl
new file mode 100644
index 000000000..5266b0b62
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.json.tpl
@@ -0,0 +1,8 @@
+{
+ "service": {
+ "binary": "%(binary)s",
+ "host": "%(host)s",
+ "disabled_reason": "%(disabled_reason)s",
+ "status": "disabled"
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.xml.tpl b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.xml.tpl
new file mode 100644
index 000000000..f7255d385
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/service-disable-log-put-resp.xml.tpl
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<service status="disabled" binary="%(binary)s" host="%(host)s" disabled_reason="%(disabled_reason)s"/>
diff --git a/nova/tests/integrated/api_samples/os-services/services-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-services/services-get-resp.json.tpl
new file mode 100644
index 000000000..39eda4e72
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/services-get-resp.json.tpl
@@ -0,0 +1,40 @@
+{
+ "services": [
+ {
+ "binary": "nova-scheduler",
+ "host": "host1",
+ "disabled_reason": "test1",
+ "state": "up",
+ "status": "disabled",
+ "updated_at": "%(timestamp)s",
+ "zone": "internal"
+ },
+ {
+ "binary": "nova-compute",
+ "host": "host1",
+ "disabled_reason": "test2",
+ "state": "up",
+ "status": "disabled",
+ "updated_at": "%(timestamp)s",
+ "zone": "nova"
+ },
+ {
+ "binary": "nova-scheduler",
+ "host": "host2",
+ "disabled_reason": "",
+ "state": "down",
+ "status": "enabled",
+ "updated_at": "%(timestamp)s",
+ "zone": "internal"
+ },
+ {
+ "binary": "nova-compute",
+ "host": "host2",
+ "disabled_reason": "test4",
+ "state": "down",
+ "status": "disabled",
+ "updated_at": "%(timestamp)s",
+ "zone": "nova"
+ }
+ ]
+}
diff --git a/nova/tests/integrated/api_samples/os-services/services-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-services/services-get-resp.xml.tpl
new file mode 100644
index 000000000..53f8541ad
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-services/services-get-resp.xml.tpl
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<services>
+ <service status="disabled" binary="nova-scheduler" zone="internal" state="up" updated_at="%(timestamp)s" host="host1" disabled_reason="test1"/>
+ <service status="disabled" binary="nova-compute" zone="nova" state="up" updated_at="%(timestamp)s" host="host1" disabled_reason="test2"/>
+ <service status="enabled" binary="nova-scheduler" zone="internal" state="down" updated_at="%(timestamp)s" host="host2" disabled_reason=""/>
+ <service status="disabled" binary="nova-compute" zone="nova" state="down" updated_at="%(timestamp)s" host="host2" disabled_reason="test4"/>
+</services>
diff --git a/nova/tests/integrated/api_samples/os-tenant-networks/networks-list-res.xml.tpl b/nova/tests/integrated/api_samples/os-tenant-networks/networks-list-res.xml.tpl
new file mode 100644
index 000000000..0562ebae7
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-tenant-networks/networks-list-res.xml.tpl
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<networks>
+ <network>
+ <cidr>10.0.0.0/29</cidr>
+ <id>%(id)s</id>
+ <label>test_0</label>
+ </network>
+ <network>
+ <cidr>10.0.0.8/29</cidr>
+ <id>%(id)s</id>
+ <label>test_1</label>
+ </network>
+</networks>
diff --git a/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-req.xml.tpl b/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-req.xml.tpl
new file mode 100644
index 000000000..0493de387
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-req.xml.tpl
@@ -0,0 +1,7 @@
+<network>
+ <label>public</label>
+ <cidr>172.0.0.0/24</cidr>
+ <vlan_start>1</vlan_start>
+ <num_networks>1</num_networks>
+ <network_size>255</network_size>
+</network>
diff --git a/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-res.xml.tpl b/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-res.xml.tpl
new file mode 100644
index 000000000..9c6c2f28b
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-tenant-networks/networks-post-res.xml.tpl
@@ -0,0 +1,5 @@
+<network>
+ <cidr>172.0.0.0/24</cidr>
+ <id>%(id)s</id>
+ <label>public</label>
+</network>
diff --git a/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json.tpl
new file mode 100644
index 000000000..d83dd87c3
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.json.tpl
@@ -0,0 +1,90 @@
+{
+ "limits": {
+ "absolute": {
+ "maxImageMeta": 128,
+ "maxPersonality": 5,
+ "maxPersonalitySize": 10240,
+ "maxSecurityGroupRules": 20,
+ "maxSecurityGroups": 10,
+ "maxServerMeta": 128,
+ "maxTotalCores": 20,
+ "maxTotalFloatingIps": 10,
+ "maxTotalInstances": 10,
+ "maxTotalKeypairs": 100,
+ "maxTotalRAMSize": 51200,
+ "totalCoresUsed": 0,
+ "totalInstancesUsed": 0,
+ "totalRAMUsed": 0,
+ "totalSecurityGroupsUsed": 0,
+ "totalFloatingIpsUsed": 0
+ },
+ "rate": [
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "POST"
+ },
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "PUT"
+ },
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 100,
+ "unit": "MINUTE",
+ "value": 100,
+ "verb": "DELETE"
+ }
+ ],
+ "regex": ".*",
+ "uri": "*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 50,
+ "unit": "DAY",
+ "value": 50,
+ "verb": "POST"
+ }
+ ],
+ "regex": "^/servers",
+ "uri": "*/servers"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 3,
+ "unit": "MINUTE",
+ "value": 3,
+ "verb": "GET"
+ }
+ ],
+ "regex": ".*changes-since.*",
+ "uri": "*changes-since*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 12,
+ "unit": "HOUR",
+ "value": 12,
+ "verb": "GET"
+ }
+ ],
+ "regex": "^/os-fping",
+ "uri": "*/os-fping"
+ }
+ ]
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml.tpl
new file mode 100644
index 000000000..c1b907670
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-used-limits-for-admin/usedlimitsforadmin-get-resp.xml.tpl
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
+ <rates>
+ <rate regex=".*" uri="*">
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="POST" remaining="10" value="10"/>
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="PUT" remaining="10" value="10"/>
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="DELETE" remaining="100" value="100"/>
+ </rate>
+ <rate regex="^/servers" uri="*/servers">
+ <limit next-available="%(timestamp)s" unit="DAY" verb="POST" remaining="50" value="50"/>
+ </rate>
+ <rate regex=".*changes-since.*" uri="*changes-since*">
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="GET" remaining="3" value="3"/>
+ </rate>
+ <rate regex="^/os-fping" uri="*/os-fping">
+ <limit next-available="%(timestamp)s" unit="HOUR" verb="GET" remaining="12" value="12"/>
+ </rate>
+ </rates>
+ <absolute>
+ <limit name="maxServerMeta" value="128"/>
+ <limit name="maxTotalInstances" value="10"/>
+ <limit name="maxPersonality" value="5"/>
+ <limit name="maxImageMeta" value="128"/>
+ <limit name="maxPersonalitySize" value="10240"/>
+ <limit name="maxSecurityGroupRules" value="20"/>
+ <limit name="maxTotalKeypairs" value="100"/>
+ <limit name="totalCoresUsed" value="0"/>
+ <limit name="totalRAMUsed" value="0"/>
+ <limit name="totalInstancesUsed" value="0"/>
+ <limit name="maxSecurityGroups" value="10"/>
+ <limit name="maxTotalCores" value="20"/>
+ <limit name="totalSecurityGroupsUsed" value="0"/>
+ <limit name="maxTotalFloatingIps" value="10"/>
+ <limit name="totalFloatingIpsUsed" value="0"/>
+ <limit name="maxTotalRAMSize" value="51200"/>
+ </absolute>
+</limits>
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index 7ac0d2633..87ed6c6ce 100644
--- a/nova/tests/integrated/test_api_samples.py
+++ b/nova/tests/integrated/test_api_samples.py
@@ -1,5 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 Nebula, Inc.
+# 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
@@ -30,6 +31,7 @@ from oslo.config import cfg
from nova.api.metadata import password
from nova.api.openstack.compute.contrib import coverage_ext
from nova.api.openstack.compute.contrib import fping
+from nova.api.openstack.compute.extensions import ExtensionManager as ext_mgr
# Import extensions to pull in osapi_compute_extension CONF option used below.
from nova.cells import state
from nova.cloudpipe import pipelib
@@ -153,7 +155,7 @@ class ApiSampleTestBase(integrated_helpers._IntegratedTestBase):
@classmethod
def _get_sample(cls, name):
dirname = os.path.dirname(os.path.abspath(__file__))
- dirname = os.path.join(dirname, "../../../doc")
+ dirname = os.path.normpath(os.path.join(dirname, "../../../doc"))
return cls._get_sample_path(name, dirname)
@classmethod
@@ -1896,6 +1898,25 @@ class UsedLimitsSamplesXmlTest(UsedLimitsSamplesJsonTest):
ctype = "xml"
+class UsedLimitsForAdminSamplesJsonTest(ApiSampleTestBase):
+ extends_name = ("nova.api.openstack.compute.contrib.used_limits."
+ "Used_limits")
+ extension_name = (
+ "nova.api.openstack.compute.contrib.used_limits_for_admin."
+ "Used_limits_for_admin")
+
+ def test_get_used_limits_for_admin(self):
+ tenant_id = 'openstack'
+ response = self._do_get('limits?tenant_id=%s' % tenant_id)
+ subs = self._get_regexes()
+ return self._verify_response('usedlimitsforadmin-get-resp', subs,
+ response, 200)
+
+
+class UsedLimitsForAdminSamplesXmlTest(UsedLimitsForAdminSamplesJsonTest):
+ ctype = "xml"
+
+
class MultipleCreateJsonTest(ServersSampleBase):
extension_name = ("nova.api.openstack.compute.contrib.multiple_create."
"Multiple_create")
@@ -1946,6 +1967,9 @@ class ServicesJsonTest(ApiSampleTestBase):
super(ServicesJsonTest, self).tearDown()
timeutils.clear_time_override()
+ def fake_load(self, *args):
+ return True
+
def test_services_list(self):
"""Return a list of all agent builds."""
response = self._do_get('os-services')
@@ -1977,11 +2001,55 @@ class ServicesJsonTest(ApiSampleTestBase):
"binary": "nova-compute"}
self._verify_response('service-disable-put-resp', subs, response, 200)
+ def test_service_detail(self):
+ """
+ Return a list of all running services with the disable reason
+ information if that exists.
+ """
+ self.stubs.Set(ext_mgr, "is_loaded", self.fake_load)
+ response = self._do_get('os-services')
+ self.assertEqual(response.status, 200)
+ subs = {'binary': 'nova-compute',
+ 'host': 'host1',
+ 'zone': 'nova',
+ 'status': 'disabled',
+ 'state': 'up'}
+ subs.update(self._get_regexes())
+ return self._verify_response('services-get-resp',
+ subs, response, 200)
+
+ def test_service_disable_log_reason(self):
+ """Disable an existing service and log the reason."""
+ self.stubs.Set(ext_mgr, "is_loaded", self.fake_load)
+ subs = {"host": "host1",
+ 'binary': 'nova-compute',
+ 'disabled_reason': 'test2'}
+ response = self._do_put('os-services/disable-log-reason',
+ 'service-disable-log-put-req', subs)
+ return self._verify_response('service-disable-log-put-resp',
+ subs, response, 200)
+
class ServicesXmlTest(ServicesJsonTest):
ctype = 'xml'
+class ExtendedServicesJsonTest(ApiSampleTestBase):
+ """
+ This extension is extending the functionalities of the
+ Services extension so the funcionalities introduced by this extension
+ are tested in the ServicesJsonTest and ServicesXmlTest classes.
+ """
+
+ extension_name = ("nova.api.openstack.compute.contrib."
+ "extended_services.Extended_services")
+
+
+class ExtendedServicesXmlTest(ExtendedServicesJsonTest):
+ """This extension is tested in the ServicesXmlTest class."""
+ ctype = 'xml'
+
+
class SimpleTenantUsageSampleJsonTest(ServersSampleBase):
extension_name = ("nova.api.openstack.compute.contrib.simple_tenant_usage."
"Simple_tenant_usage")
@@ -2065,7 +2133,9 @@ class AdminActionsSamplesJsonTest(ServersSampleBase):
def setUp(self):
"""setUp Method for AdminActions api samples extension
- This method creates the server that will be used in each tests"""
+
+ This method creates the server that will be used in each tests
+ """
super(AdminActionsSamplesJsonTest, self).setUp()
self.uuid = self._post_server()
@@ -2292,6 +2362,14 @@ class ExtendedQuotasSampleJsonTests(ApiSampleTestBase):
self.assertEqual(response.status, 202)
self.assertEqual(response.read(), '')
+ def test_update_quotas(self):
+ # Get api sample to update quotas.
+ response = self._do_put('os-quota-sets/fake_tenant',
+ 'quotas-update-post-req',
+ {})
+ return self._verify_response('quotas-update-post-resp', {},
+ response, 200)
+
class ExtendedQuotasSampleXmlTests(ExtendedQuotasSampleJsonTests):
ctype = "xml"
@@ -2598,6 +2676,17 @@ class OsNetworksJsonTests(ApiSampleTestBase):
self.assertEqual(response.status, 202)
+class OsNetworksXmlTests(OsNetworksJsonTests):
+ ctype = 'xml'
+
+ def test_delete_network(self):
+ response = self._do_post('os-tenant-networks', "networks-post-req", {})
+ net = etree.fromstring(response.read())
+ network_id = net.find('id').text
+ response = self._do_delete('os-tenant-networks/%s' % network_id)
+ self.assertEqual(response.status, 202)
+
+
class NetworksJsonTests(ApiSampleTestBase):
extension_name = ("nova.api.openstack.compute.contrib"
".os_networks.Os_networks")
diff --git a/nova/tests/network/test_api.py b/nova/tests/network/test_api.py
index 871d26616..13bc3ce67 100644
--- a/nova/tests/network/test_api.py
+++ b/nova/tests/network/test_api.py
@@ -81,9 +81,9 @@ class ApiTestCase(test.TestCase):
self.network_api.network_rpcapi.allocate_for_instance(
mox.IgnoreArg(), **kwargs).AndReturn([])
self.mox.ReplayAll()
- inst_type = flavors.get_default_instance_type()
+ inst_type = flavors.get_default_flavor()
inst_type['rxtx_factor'] = 0
- sys_meta = flavors.save_instance_type_info({}, inst_type)
+ sys_meta = flavors.save_flavor_info({}, inst_type)
instance = dict(id='id', uuid='uuid', project_id='project_id',
host='host', system_metadata=utils.dict_to_metadata(sys_meta))
self.network_api.allocate_for_instance(
@@ -140,10 +140,10 @@ class ApiTestCase(test.TestCase):
self._do_test_associate_floating_ip(None)
def _stub_migrate_instance_calls(self, method, multi_host, info):
- fake_instance_type = flavors.get_default_instance_type()
+ fake_instance_type = flavors.get_default_flavor()
fake_instance_type['rxtx_factor'] = 1.21
sys_meta = utils.dict_to_metadata(
- flavors.save_instance_type_info({}, fake_instance_type))
+ flavors.save_flavor_info({}, fake_instance_type))
fake_instance = {'uuid': 'fake_uuid',
'instance_type_id': fake_instance_type['id'],
'project_id': 'fake_project_id',
diff --git a/nova/tests/network/test_linux_net.py b/nova/tests/network/test_linux_net.py
index 4829f2d93..5c7f3828d 100644
--- a/nova/tests/network/test_linux_net.py
+++ b/nova/tests/network/test_linux_net.py
@@ -242,6 +242,28 @@ class LinuxNetworkTestCase(test.TestCase):
self.stubs.Set(db, 'instance_get', get_instance)
self.stubs.Set(db, 'network_get_associated_fixed_ips', get_associated)
+ def _test_add_snat_rule(self, expected):
+ def verify_add_rule(chain, rule):
+ self.assertEqual(chain, 'snat')
+ self.assertEqual(rule, expected)
+
+ self.stubs.Set(linux_net.iptables_manager.ipv4['nat'],
+ 'add_rule', verify_add_rule)
+ linux_net.add_snat_rule('10.0.0.0/24')
+
+ def test_add_snat_rule(self):
+ self.flags(routing_source_ip='10.10.10.1')
+ expected = ('-s 10.0.0.0/24 -d 0.0.0.0/0 '
+ '-j SNAT --to-source 10.10.10.1 -o eth0')
+ self._test_add_snat_rule(expected)
+
+ def test_add_snat_rule_snat_range(self):
+ self.flags(routing_source_ip='10.10.10.1',
+ force_snat_range=['10.10.10.0/24'])
+ expected = ('-s 10.0.0.0/24 -d 10.10.10.0/24 '
+ '-j SNAT --to-source 10.10.10.1 -o eth0')
+ self._test_add_snat_rule(expected)
+
def test_update_dhcp_for_nw00(self):
self.flags(use_single_default_gateway=True)
@@ -405,7 +427,8 @@ class LinuxNetworkTestCase(test.TestCase):
def test_linux_bridge_driver_plug(self):
"""Makes sure plug doesn't drop FORWARD by default.
- Ensures bug 890195 doesn't reappear."""
+ Ensures bug 890195 doesn't reappear.
+ """
def fake_execute(*args, **kwargs):
return "", ""
@@ -423,7 +446,8 @@ class LinuxNetworkTestCase(test.TestCase):
def test_vlan_override(self):
"""Makes sure vlan_interface flag overrides network bridge_interface.
- Allows heterogeneous networks a la bug 833426"""
+ Allows heterogeneous networks a la bug 833426
+ """
driver = linux_net.LinuxBridgeInterfaceDriver()
@@ -452,7 +476,8 @@ class LinuxNetworkTestCase(test.TestCase):
def test_flat_override(self):
"""Makes sure flat_interface flag overrides network bridge_interface.
- Allows heterogeneous networks a la bug 833426"""
+ Allows heterogeneous networks a la bug 833426
+ """
driver = linux_net.LinuxBridgeInterfaceDriver()
diff --git a/nova/tests/network/test_manager.py b/nova/tests/network/test_manager.py
index d534e7857..a924d8406 100644
--- a/nova/tests/network/test_manager.py
+++ b/nova/tests/network/test_manager.py
@@ -1069,7 +1069,8 @@ class VlanNetworkTestCase(test.TestCase):
def test_ip_association_and_allocation_of_other_project(self):
"""Makes sure that we cannot deallocaate or disassociate
- a public ip of other project"""
+ a public ip of other project.
+ """
def network_get(_context, network_id, project_only="allow_none"):
return networks[network_id]
@@ -1123,7 +1124,8 @@ class VlanNetworkTestCase(test.TestCase):
def test_deallocate_fixed(self):
"""Verify that release is called properly.
- Ensures https://bugs.launchpad.net/nova/+bug/973442 doesn't return"""
+ Ensures https://bugs.launchpad.net/nova/+bug/973442 doesn't return
+ """
def network_get(_context, network_id, project_only="allow_none"):
return networks[network_id]
@@ -1193,7 +1195,8 @@ class VlanNetworkTestCase(test.TestCase):
def test_deallocate_fixed_no_vif(self):
"""Verify that deallocate doesn't raise when no vif is returned.
- Ensures https://bugs.launchpad.net/nova/+bug/968457 doesn't return"""
+ Ensures https://bugs.launchpad.net/nova/+bug/968457 doesn't return
+ """
def network_get(_context, network_id, project_only="allow_none"):
return networks[network_id]
@@ -1711,7 +1714,8 @@ class CommonNetworkTestCase(test.TestCase):
table_name='nat')
# The expected rules that should be configured based on the fixed_range
- expected_lines = ['[0:0] -A %s-snat -s %s -j SNAT --to-source %s -o %s'
+ expected_lines = ['[0:0] -A %s-snat -s %s -d 0.0.0.0/0 '
+ '-j SNAT --to-source %s -o %s'
% (binary_name, CONF.fixed_range,
CONF.routing_source_ip,
CONF.public_interface),
@@ -1759,7 +1763,8 @@ class CommonNetworkTestCase(test.TestCase):
table_name='nat')
# The expected rules that should be configured based on the fixed_range
- expected_lines = ['[0:0] -A %s-snat -s %s -j SNAT --to-source %s -o %s'
+ expected_lines = ['[0:0] -A %s-snat -s %s -d 0.0.0.0/0 '
+ '-j SNAT --to-source %s -o %s'
% (binary_name, networks[0]['cidr'],
CONF.routing_source_ip,
CONF.public_interface),
@@ -1773,7 +1778,8 @@ class CommonNetworkTestCase(test.TestCase):
'--ctstate DNAT -j ACCEPT' % (binary_name,
networks[0]['cidr'],
networks[0]['cidr']),
- '[0:0] -A %s-snat -s %s -j SNAT --to-source %s -o %s'
+ '[0:0] -A %s-snat -s %s -d 0.0.0.0/0 '
+ '-j SNAT --to-source %s -o %s'
% (binary_name, networks[1]['cidr'],
CONF.routing_source_ip,
CONF.public_interface),
@@ -1827,10 +1833,11 @@ class CommonNetworkTestCase(test.TestCase):
table_name='nat')
# Add the new expected rules to the old ones
- expected_lines += ['[0:0] -A %s-snat -s %s -j SNAT --to-source %s -o '
- '%s' % (binary_name, new_network['cidr'],
- CONF.routing_source_ip,
- CONF.public_interface),
+ expected_lines += ['[0:0] -A %s-snat -s %s -d 0.0.0.0/0 '
+ '-j SNAT --to-source %s -o %s'
+ % (binary_name, new_network['cidr'],
+ CONF.routing_source_ip,
+ CONF.public_interface),
'[0:0] -A %s-POSTROUTING -s %s -d %s/32 -j ACCEPT'
% (binary_name, new_network['cidr'],
CONF.metadata_host),
@@ -1905,7 +1912,8 @@ class RPCAllocateTestCase(test.TestCase):
"""Test to verify bug 855030 doesn't resurface.
Mekes sure _rpc_allocate_fixed_ip returns a value so the call
- returns properly and the greenpool completes."""
+ returns properly and the greenpool completes.
+ """
address = '10.10.10.10'
def fake_allocate(*args, **kwargs):
diff --git a/nova/tests/network/test_network_info.py b/nova/tests/network/test_network_info.py
index 56522e6a5..bb3d91f55 100644
--- a/nova/tests/network/test_network_info.py
+++ b/nova/tests/network/test_network_info.py
@@ -332,6 +332,34 @@ class NetworkInfoTests(test.TestCase):
fake_network_cache_model.new_ip(
{'address': '10.10.0.3'})] * 4)
+ def test_create_async_model(self):
+ def async_wrapper():
+ return model.NetworkInfo(
+ [fake_network_cache_model.new_vif(),
+ fake_network_cache_model.new_vif(
+ {'address': 'bb:bb:bb:bb:bb:bb'})])
+
+ ninfo = model.NetworkInfoAsyncWrapper(async_wrapper)
+ self.assertEqual(ninfo.fixed_ips(),
+ [fake_network_cache_model.new_ip({'address': '10.10.0.2'}),
+ fake_network_cache_model.new_ip(
+ {'address': '10.10.0.3'})] * 4)
+
+ def test_create_async_model_exceptions(self):
+ def async_wrapper():
+ raise test.TestingException()
+
+ ninfo = model.NetworkInfoAsyncWrapper(async_wrapper)
+ self.assertRaises(test.TestingException, ninfo.wait)
+ # 2nd one doesn't raise
+ self.assertEqual(None, ninfo.wait())
+ # Test that do_raise=False works on .wait()
+ ninfo = model.NetworkInfoAsyncWrapper(async_wrapper)
+ self.assertEqual(None, ninfo.wait(do_raise=False))
+ # Test we also raise calling a method
+ ninfo = model.NetworkInfoAsyncWrapper(async_wrapper)
+ self.assertRaises(test.TestingException, ninfo.fixed_ips)
+
def test_get_floating_ips(self):
vif = fake_network_cache_model.new_vif()
vif['network']['subnets'][0]['ips'][0].add_floating_ip('192.168.1.1')
diff --git a/nova/tests/network/test_quantumv2.py b/nova/tests/network/test_quantumv2.py
index 3a2b8a7c4..d97dcae57 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/')
@@ -402,10 +389,10 @@ class TestQuantumv2(test.TestCase):
self.moxed_client.list_extensions().AndReturn(
{'extensions': [{'name': 'nvp-qos'}]})
self.mox.ReplayAll()
- instance_type = flavors.get_default_instance_type()
+ instance_type = flavors.get_default_flavor()
instance_type['rxtx_factor'] = 1
sys_meta = utils.dict_to_metadata(
- flavors.save_instance_type_info({}, instance_type))
+ flavors.save_flavor_info({}, instance_type))
instance = {'system_metadata': sys_meta}
port_req_body = {'port': {}}
api._populate_quantum_extension_values(instance, port_req_body)
@@ -1236,7 +1223,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)
@@ -1370,6 +1357,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 498767865..09ce70355 100644
--- a/nova/tests/objects/test_instance.py
+++ b/nova/tests/objects/test_instance.py
@@ -18,6 +18,7 @@ import netaddr
from nova import context
from nova import db
+from nova.objects import base
from nova.objects import instance
from nova.openstack.common import timeutils
from nova.tests.api.openstack import fakes
@@ -38,6 +39,8 @@ class _TestInstanceObject(object):
fake_instance['launched_at'] = (
fake_instance['launched_at'].replace(
tzinfo=iso8601.iso8601.Utc(), microsecond=0))
+ fake_instance['deleted'] = False
+ fake_instance['info_cache']['instance_uuid'] = fake_instance['uuid']
return fake_instance
def test_datetime_deserialization(self):
@@ -87,10 +90,11 @@ 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
- self.assertFalse(hasattr(inst, '_metadata'))
- self.assertFalse(hasattr(inst, '_system_metadata'))
+ for attr in instance.INSTANCE_OPTIONAL_FIELDS:
+ attrname = base.get_attrname(attr)
+ self.assertFalse(hasattr(inst, attrname))
self.assertRemotes()
def test_get_with_expected(self):
@@ -98,12 +102,13 @@ class _TestInstanceObject(object):
self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
db.instance_get_by_uuid(
ctxt, 'uuid',
- ['metadata', 'system_metadata']).AndReturn(self.fake_instance)
+ instance.INSTANCE_OPTIONAL_FIELDS).AndReturn(self.fake_instance)
self.mox.ReplayAll()
inst = instance.Instance.get_by_uuid(
- ctxt, 'uuid', expected_attrs=['metadata', 'system_metadata'])
- self.assertTrue(hasattr(inst, '_metadata'))
- self.assertTrue(hasattr(inst, '_system_metadata'))
+ ctxt, 'uuid', expected_attrs=instance.INSTANCE_OPTIONAL_FIELDS)
+ for attr in instance.INSTANCE_OPTIONAL_FIELDS:
+ attrname = base.get_attrname(attr)
+ self.assertTrue(hasattr(inst, attrname))
self.assertRemotes()
def test_load(self):
@@ -158,6 +163,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()
@@ -165,6 +171,7 @@ class _TestInstanceObject(object):
fake_uuid = fake_inst['uuid']
self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
+ self.mox.StubOutWithMock(db, 'instance_info_cache_update')
db.instance_get_by_uuid(ctxt, fake_uuid, []).AndReturn(fake_inst)
db.instance_update_and_get_original(
ctxt, fake_uuid, {'user_data': 'foo'}).AndReturn(
@@ -175,6 +182,46 @@ class _TestInstanceObject(object):
inst.save()
self.assertEqual(inst.host, 'newhost')
+ def test_get_deleted(self):
+ ctxt = context.get_admin_context()
+ fake_inst = dict(self.fake_instance, id=123, deleted=123)
+ fake_uuid = fake_inst['uuid']
+ self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
+ db.instance_get_by_uuid(ctxt, fake_uuid, []).AndReturn(fake_inst)
+ self.mox.ReplayAll()
+ inst = instance.Instance.get_by_uuid(ctxt, fake_uuid)
+ # NOTE(danms): Make sure it's actually a bool
+ self.assertEqual(inst.deleted, True)
+
+ def test_with_info_cache(self):
+ ctxt = context.get_admin_context()
+ fake_inst = dict(self.fake_instance)
+ fake_uuid = fake_inst['uuid']
+ fake_inst['info_cache'] = {'network_info': 'foo',
+ 'instance_uuid': fake_uuid}
+ self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
+ self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
+ self.mox.StubOutWithMock(db, 'instance_info_cache_update')
+ db.instance_get_by_uuid(ctxt, fake_uuid, []).AndReturn(fake_inst)
+ db.instance_info_cache_update(ctxt, fake_uuid,
+ {'network_info': 'bar'})
+ self.mox.ReplayAll()
+ inst = instance.Instance.get_by_uuid(ctxt, fake_uuid)
+ self.assertEqual(inst.info_cache.network_info,
+ fake_inst['info_cache']['network_info'])
+ self.assertEqual(inst.info_cache.instance_uuid, fake_uuid)
+ inst.info_cache.network_info = 'bar'
+ inst.save()
+
+ 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):
@@ -184,3 +231,118 @@ class TestInstanceObject(test_objects._LocalTest,
class TestRemoteInstanceObject(test_objects._RemoteTest,
_TestInstanceObject):
pass
+
+
+class _TestInstanceListObject(object):
+ def fake_instance(self, id, updates=None):
+ fake_instance = fakes.stub_instance(id=2,
+ access_ipv4='1.2.3.4',
+ access_ipv6='::1')
+ fake_instance['scheduled_at'] = None
+ fake_instance['terminated_at'] = None
+ fake_instance['deleted_at'] = None
+ fake_instance['created_at'] = None
+ fake_instance['updated_at'] = None
+ fake_instance['launched_at'] = (
+ fake_instance['launched_at'].replace(
+ tzinfo=iso8601.iso8601.Utc(), microsecond=0))
+ fake_instance['info_cache'] = {'network_info': 'foo',
+ 'instance_uuid': fake_instance['uuid']}
+ fake_instance['deleted'] = 0
+ if updates:
+ fake_instance.update(updates)
+ return fake_instance
+
+ def test_get_all_by_filters(self):
+ fakes = [self.fake_instance(1), self.fake_instance(2)]
+ 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,
+ columns_to_join=['metadata']).AndReturn(
+ fakes)
+ self.mox.ReplayAll()
+ inst_list = instance.InstanceList.get_by_filters(
+ ctxt, {'foo': 'bar'}, 'uuid', 'asc', expected_attrs=['metadata'])
+
+ for i in range(0, len(fakes)):
+ self.assertTrue(isinstance(inst_list.objects[i],
+ instance.Instance))
+ self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
+ self.assertRemotes()
+
+ def test_get_by_host(self):
+ fakes = [self.fake_instance(1),
+ self.fake_instance(2)]
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
+ db.instance_get_all_by_host(ctxt, 'foo',
+ columns_to_join=None).AndReturn(fakes)
+ self.mox.ReplayAll()
+ inst_list = instance.InstanceList.get_by_host(ctxt, 'foo')
+ for i in range(0, len(fakes)):
+ 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()
+
+ def test_get_by_host_and_node(self):
+ fakes = [self.fake_instance(1),
+ self.fake_instance(2)]
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host_and_node')
+ db.instance_get_all_by_host_and_node(ctxt, 'foo', 'bar').AndReturn(
+ fakes)
+ self.mox.ReplayAll()
+ inst_list = instance.InstanceList.get_by_host_and_node(ctxt, 'foo',
+ 'bar')
+ for i in range(0, len(fakes)):
+ self.assertTrue(isinstance(inst_list.objects[i],
+ instance.Instance))
+ self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
+ self.assertRemotes()
+
+ def test_get_by_host_and_not_type(self):
+ fakes = [self.fake_instance(1),
+ self.fake_instance(2)]
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host_and_not_type')
+ db.instance_get_all_by_host_and_not_type(ctxt, 'foo',
+ type_id='bar').AndReturn(
+ fakes)
+ self.mox.ReplayAll()
+ inst_list = instance.InstanceList.get_by_host_and_not_type(ctxt, 'foo',
+ 'bar')
+ for i in range(0, len(fakes)):
+ self.assertTrue(isinstance(inst_list.objects[i],
+ instance.Instance))
+ self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
+ self.assertRemotes()
+
+ def test_get_hung_in_rebooting(self):
+ fakes = [self.fake_instance(1),
+ self.fake_instance(2)]
+ dt = timeutils.isotime()
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_get_all_hung_in_rebooting')
+ db.instance_get_all_hung_in_rebooting(ctxt, dt).AndReturn(
+ fakes)
+ self.mox.ReplayAll()
+ inst_list = instance.InstanceList.get_hung_in_rebooting(ctxt, dt)
+ for i in range(0, len(fakes)):
+ self.assertTrue(isinstance(inst_list.objects[i],
+ instance.Instance))
+ self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
+ self.assertRemotes()
+
+
+class TestInstanceListObject(test_objects._LocalTest,
+ _TestInstanceListObject):
+ pass
+
+
+class TestRemoteInstanceListObject(test_objects._RemoteTest,
+ _TestInstanceListObject):
+ pass
diff --git a/nova/tests/objects/test_instance_info_cache.py b/nova/tests/objects/test_instance_info_cache.py
new file mode 100644
index 000000000..74362d178
--- /dev/null
+++ b/nova/tests/objects/test_instance_info_cache.py
@@ -0,0 +1,54 @@
+# 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_info_cache
+from nova.tests.objects import test_objects
+
+
+class _TestInstanceInfoCacheObject(object):
+ def test_get_by_instance_uuid(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_info_cache_get')
+ db.instance_info_cache_get(ctxt, 'fake-uuid').AndReturn(
+ {'instance_uuid': 'fake-uuid', 'network_info': 'foo'})
+ self.mox.ReplayAll()
+ obj = instance_info_cache.InstanceInfoCache.get_by_instance_uuid(
+ ctxt, 'fake-uuid')
+ self.assertEqual(obj.instance_uuid, 'fake-uuid')
+ self.assertEqual(obj.network_info, 'foo')
+ self.assertRemotes()
+
+ def test_save(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_info_cache_update')
+ db.instance_info_cache_update(ctxt, 'fake-uuid',
+ {'network_info': 'foo'})
+ self.mox.ReplayAll()
+ obj = instance_info_cache.InstanceInfoCache()
+ obj._context = ctxt
+ obj.instance_uuid = 'fake-uuid'
+ obj.network_info = 'foo'
+ obj.save()
+
+
+class TestInstanceInfoCacheObject(test_objects._LocalTest,
+ _TestInstanceInfoCacheObject):
+ pass
+
+
+class TestInstanceInfoCacheObjectRemote(test_objects._RemoteTest,
+ _TestInstanceInfoCacheObject):
+ pass
diff --git a/nova/tests/objects/test_objects.py b/nova/tests/objects/test_objects.py
index e7508ba38..332833cb0 100644
--- a/nova/tests/objects/test_objects.py
+++ b/nova/tests/objects/test_objects.py
@@ -36,7 +36,7 @@ class MyObj(base.NovaObject):
'missing': str,
}
- def obj_load(self, attrname):
+ def obj_load_attr(self, attrname):
setattr(self, attrname, 'loaded!')
@base.remotable_classmethod
@@ -305,6 +305,19 @@ class _TestObject(object):
obj = MyObj()
self.assertEqual(obj.bar, 'loaded!')
+ def test_load_in_base(self):
+ class Foo(base.NovaObject):
+ fields = {'foobar': int}
+ obj = Foo()
+ # NOTE(danms): Can't use assertRaisesRegexp() because of py26
+ raised = False
+ try:
+ obj.foobar
+ except NotImplementedError as ex:
+ raised = True
+ self.assertTrue(raised)
+ self.assertTrue('foobar' in str(ex))
+
def test_loaded_in_primitive(self):
obj = MyObj()
obj.foo = 1
@@ -413,15 +426,18 @@ class _TestObject(object):
obj.created_at = dt
obj.updated_at = dt
obj.deleted_at = None
+ obj.deleted = False
expected = {'nova_object.name': 'MyObj',
'nova_object.namespace': 'nova',
'nova_object.version': '1.5',
'nova_object.changes':
- ['created_at', 'deleted_at', 'updated_at'],
+ ['deleted', 'created_at', 'deleted_at', 'updated_at'],
'nova_object.data':
{'created_at': timeutils.isotime(dt),
'updated_at': timeutils.isotime(dt),
- 'deleted_at': None}
+ 'deleted_at': None,
+ 'deleted': False,
+ }
}
self.assertEqual(obj.obj_to_primitive(), expected)
@@ -449,3 +465,40 @@ class TestRemoteObject(_RemoteTest, _TestObject):
obj = MyObj2.get(ctxt)
self.assertEqual(obj.bar, 'bar')
self.assertRemotes()
+
+
+class TestObjectListBase(test.TestCase):
+ def test_list_like_operations(self):
+ class Foo(base.ObjectListBase, base.NovaObject):
+ pass
+
+ objlist = Foo()
+ objlist._context = 'foo'
+ objlist.objects = [1, 2, 3]
+ self.assertTrue(list(objlist), objlist.objects)
+ self.assertEqual(len(objlist), 3)
+ self.assertIn(2, objlist)
+ self.assertEqual(list(objlist[:1]), [1])
+ self.assertEqual(objlist[:1]._context, 'foo')
+ self.assertEqual(objlist[2], 3)
+ self.assertEqual(objlist.count(1), 1)
+ self.assertEqual(objlist.index(2), 1)
+
+ def test_serialization(self):
+ class Foo(base.ObjectListBase, base.NovaObject):
+ pass
+
+ class Bar(base.NovaObject):
+ fields = {'foo': str}
+
+ obj = Foo()
+ obj.objects = []
+ for i in 'abc':
+ bar = Bar()
+ bar.foo = i
+ obj.objects.append(bar)
+
+ obj2 = base.NovaObject.obj_from_primitive(obj.obj_to_primitive())
+ self.assertFalse(obj is obj2)
+ self.assertEqual([x.foo for x in obj],
+ [y.foo for y in obj2])
diff --git a/nova/tests/scheduler/fakes.py b/nova/tests/scheduler/fakes.py
index c9157d11c..0ceb45282 100644
--- a/nova/tests/scheduler/fakes.py
+++ b/nova/tests/scheduler/fakes.py
@@ -18,7 +18,6 @@ Fakes For Scheduler tests.
import mox
-from nova.compute import flavors
from nova.compute import vm_states
from nova import db
from nova.scheduler import filter_scheduler
@@ -78,7 +77,8 @@ class FakeHostManager(host_manager.HostManager):
"""host1: free_ram_mb=1024-512-512=0, free_disk_gb=1024-512-512=0
host2: free_ram_mb=2048-512=1536 free_disk_gb=2048-512=1536
host3: free_ram_mb=4096-1024=3072 free_disk_gb=4096-1024=3072
- host4: free_ram_mb=8192 free_disk_gb=8192"""
+ host4: free_ram_mb=8192 free_disk_gb=8192
+ """
def __init__(self):
super(FakeHostManager, self).__init__()
@@ -107,14 +107,14 @@ class FakeHostState(host_manager.HostState):
class FakeInstance(object):
- def __init__(self, context=None, params=None, type_name='m1.tiny'):
+ def __init__(self, context=None, params=None):
"""Create a test instance. Returns uuid."""
self.context = context
- i = self._create_fake_instance(params, type_name=type_name)
+ i = self._create_fake_instance(params=params)
self.uuid = i['uuid']
- def _create_fake_instance(self, params=None, type_name='m1.tiny'):
+ def _create_fake_instance(self, params=None):
"""Create a test instance."""
if not params:
params = {}
@@ -125,8 +125,7 @@ class FakeInstance(object):
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = 'fake'
inst['project_id'] = 'fake'
- type_id = flavors.get_instance_type_by_name(type_name)['id']
- inst['instance_type_id'] = type_id
+ inst['instance_type_id'] = 2
inst['ami_launch_index'] = 0
inst.update(params)
return db.instance_create(self.context, inst)
diff --git a/nova/tests/scheduler/test_chance_scheduler.py b/nova/tests/scheduler/test_chance_scheduler.py
index a589000cd..cfe7f5d63 100644
--- a/nova/tests/scheduler/test_chance_scheduler.py
+++ b/nova/tests/scheduler/test_chance_scheduler.py
@@ -41,7 +41,8 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_filter_hosts_avoid(self):
"""Test to make sure _filter_hosts() filters original hosts if
- avoid_original_host is True."""
+ avoid_original_host is True.
+ """
hosts = ['host1', 'host2', 'host3']
request_spec = dict(instance_properties=dict(host='host2'))
@@ -53,7 +54,8 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_filter_hosts_no_avoid(self):
"""Test to make sure _filter_hosts() does not filter original
- hosts if avoid_original_host is False."""
+ hosts if avoid_original_host is False.
+ """
hosts = ['host1', 'host2', 'host3']
request_spec = dict(instance_properties=dict(host='host2'))
@@ -194,3 +196,12 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.mox.ReplayAll()
hosts = self.driver.select_hosts(ctxt, request_spec, {})
self.assertEquals(['host3', 'host1'], hosts)
+
+ def test_select_hosts_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_hosts, self.context, {}, {})
diff --git a/nova/tests/scheduler/test_filter_scheduler.py b/nova/tests/scheduler/test_filter_scheduler.py
index 80680dda8..d6cc7808e 100644
--- a/nova/tests/scheduler/test_filter_scheduler.py
+++ b/nova/tests/scheduler/test_filter_scheduler.py
@@ -18,7 +18,6 @@ Tests For Filter Scheduler.
import mox
-from nova.compute import flavors
from nova.compute import rpcapi as compute_rpcapi
from nova.compute import utils as compute_utils
from nova.compute import vm_states
@@ -78,6 +77,10 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
compute_utils.add_instance_fault_from_exc(fake_context,
mox.IsA(conductor_api.LocalAPI), new_ref,
mox.IsA(exception.NoValidHost), mox.IgnoreArg())
+
+ self.mox.StubOutWithMock(db, 'compute_node_get_all')
+ db.compute_node_get_all(mox.IgnoreArg()).AndReturn([])
+
self.mox.ReplayAll()
sched.schedule_run_instance(
fake_context, request_spec, None, None, None, None, {})
@@ -157,7 +160,8 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_schedule_happy_day(self):
"""Make sure there's nothing glaringly wrong with _schedule()
- by doing a happy day pass through."""
+ by doing a happy day pass through.
+ """
self.next_weight = 1.0
@@ -240,6 +244,10 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
request_spec = dict(instance_properties=instance_properties)
filter_properties = {}
+ self.mox.StubOutWithMock(db, 'compute_node_get_all')
+ db.compute_node_get_all(mox.IgnoreArg()).AndReturn([])
+ self.mox.ReplayAll()
+
sched._schedule(self.context, request_spec,
filter_properties=filter_properties)
@@ -255,6 +263,10 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
request_spec = dict(instance_properties=instance_properties)
filter_properties = {}
+ self.mox.StubOutWithMock(db, 'compute_node_get_all')
+ db.compute_node_get_all(mox.IgnoreArg()).AndReturn([])
+ self.mox.ReplayAll()
+
sched._schedule(self.context, request_spec,
filter_properties=filter_properties)
@@ -272,6 +284,10 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
retry = dict(num_attempts=1)
filter_properties = dict(retry=retry)
+ self.mox.StubOutWithMock(db, 'compute_node_get_all')
+ db.compute_node_get_all(mox.IgnoreArg()).AndReturn([])
+ self.mox.ReplayAll()
+
sched._schedule(self.context, request_spec,
filter_properties=filter_properties)
@@ -335,10 +351,22 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
sched = fakes.FakeFilterScheduler()
image = 'image'
- instance = db.instance_create(self.context, {})
+ instance = {'disable_terminate': False,
+ 'uuid': 'fakeuuid',
+ 'deleted': 0, 'info_cache': {},
+ 'created_at': None,
+ 'system_metadata': [], 'shutdown_terminate': False,
+ 'id': 1, 'security_groups': [], 'metadata': []}
instance_properties = {'project_id': 'fake', 'os_type': 'Linux'}
- instance_type = flavors.get_instance_type_by_name("m1.tiny")
+ instance_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}
+
request_spec = {'instance_properties': instance_properties,
'instance_type': instance_type}
retry = {'hosts': [], 'num_attempts': 1}
@@ -598,7 +626,8 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_schedule_large_host_pool(self):
"""Hosts should still be chosen if pool size
- is larger than number of filtered hosts"""
+ is larger than number of filtered hosts.
+ """
sched = fakes.FakeFilterScheduler()
@@ -626,7 +655,8 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_schedule_chooses_best_host(self):
"""If scheduler_host_subset_size is 1, the largest host with greatest
- weight should be returned"""
+ weight should be returned.
+ """
self.flags(scheduler_host_subset_size=1)
@@ -670,8 +700,10 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_select_hosts_happy_day(self):
"""select_hosts is basically a wrapper around the _select() method.
+
Similar to the _select tests, this just does a happy path test to
- ensure there is nothing glaringly wrong."""
+ ensure there is nothing glaringly wrong.
+ """
self.next_weight = 1.0
@@ -707,3 +739,12 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
hosts = sched.select_hosts(fake_context, request_spec, {})
self.assertEquals(len(hosts), 10)
self.assertEquals(hosts, selected_hosts)
+
+ def test_select_hosts_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_hosts, self.context, {}, {})
diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py
index 7d7c12339..9306615ed 100644
--- a/nova/tests/scheduler/test_host_filters.py
+++ b/nova/tests/scheduler/test_host_filters.py
@@ -44,7 +44,7 @@ class TestBogusFilter(object):
pass
-class ExtraSpecsOpsTestCase(test.TestCase):
+class ExtraSpecsOpsTestCase(test.NoDBTestCase):
def _do_extra_specs_ops_test(self, value, req, matches):
assertion = self.assertTrue if matches else self.assertFalse
assertion(extra_specs_ops.match(value, req))
@@ -230,8 +230,11 @@ class ExtraSpecsOpsTestCase(test.TestCase):
matches=False)
-class HostFiltersTestCase(test.TestCase):
+class HostFiltersTestCase(test.NoDBTestCase):
"""Test case for host filters."""
+ # FIXME(sirp): These tests still require DB access until we can separate
+ # the testing of the DB API code from the host-filter code.
+ USES_DB = True
def fake_oat_request(self, *args, **kwargs):
"""Stubs out the response from OAT service."""
@@ -705,6 +708,9 @@ class HostFiltersTestCase(test.TestCase):
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}
@@ -720,33 +726,33 @@ class HostFiltersTestCase(test.TestCase):
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)
diff --git a/nova/tests/scheduler/test_host_manager.py b/nova/tests/scheduler/test_host_manager.py
index c03c66c4e..8db62bfea 100644
--- a/nova/tests/scheduler/test_host_manager.py
+++ b/nova/tests/scheduler/test_host_manager.py
@@ -37,7 +37,7 @@ class FakeFilterClass2(filters.BaseHostFilter):
pass
-class HostManagerTestCase(test.TestCase):
+class HostManagerTestCase(test.NoDBTestCase):
"""Test case for HostManager class."""
def setUp(self):
@@ -358,7 +358,7 @@ class HostManagerTestCase(test.TestCase):
8388608)
-class HostManagerChangedNodesTestCase(test.TestCase):
+class HostManagerChangedNodesTestCase(test.NoDBTestCase):
"""Test case for HostManager class."""
def setUp(self):
@@ -416,7 +416,7 @@ class HostManagerChangedNodesTestCase(test.TestCase):
self.assertEqual(len(host_states_map), 0)
-class HostStateTestCase(test.TestCase):
+class HostStateTestCase(test.NoDBTestCase):
"""Test case for HostState class."""
# update_from_compute_node() and consume_from_instance() are tested
diff --git a/nova/tests/scheduler/test_rpcapi.py b/nova/tests/scheduler/test_rpcapi.py
index 44e6a91b8..cecc55f20 100644
--- a/nova/tests/scheduler/test_rpcapi.py
+++ b/nova/tests/scheduler/test_rpcapi.py
@@ -28,7 +28,7 @@ from nova import test
CONF = cfg.CONF
-class SchedulerRpcAPITestCase(test.TestCase):
+class SchedulerRpcAPITestCase(test.NoDBTestCase):
def _test_scheduler_api(self, method, rpc_method, **kwargs):
ctxt = context.RequestContext('fake_user', 'fake_project')
rpcapi = scheduler_rpcapi.SchedulerAPI()
diff --git a/nova/tests/scheduler/test_scheduler.py b/nova/tests/scheduler/test_scheduler.py
index f4f607647..0574f6d2e 100644
--- a/nova/tests/scheduler/test_scheduler.py
+++ b/nova/tests/scheduler/test_scheduler.py
@@ -48,7 +48,7 @@ from nova.tests.scheduler import fakes
from nova import utils
-class SchedulerManagerTestCase(test.TestCase):
+class SchedulerManagerTestCase(test.NoDBTestCase):
"""Test case for scheduler manager."""
manager_cls = manager.SchedulerManager
@@ -277,6 +277,36 @@ class SchedulerManagerTestCase(test.TestCase):
self.context, inst, dest, block_migration,
disk_over_commit)
+ def test_live_migration_set_vmstate_error(self):
+ inst = {"uuid": "fake-instance-id",
+ "vm_state": vm_states.ACTIVE, }
+
+ dest = 'fake_host'
+ block_migration = False
+ disk_over_commit = False
+
+ self._mox_schedule_method_helper('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,
+ inst, dest, block_migration, disk_over_commit).AndRaise(
+ ValueError)
+ db.instance_update_and_get_original(self.context, inst["uuid"],
+ {"vm_state": vm_states.ERROR,
+ }).AndReturn((inst, inst))
+ compute_utils.add_instance_fault_from_exc(self.context,
+ mox.IsA(conductor_api.LocalAPI), inst,
+ mox.IsA(ValueError),
+ mox.IgnoreArg())
+
+ self.mox.ReplayAll()
+ self.stub_out_client_exceptions()
+ self.assertRaises(ValueError,
+ self.manager.live_migration,
+ self.context, inst, dest, block_migration,
+ disk_over_commit)
+
def test_prep_resize_no_valid_host_back_in_active_state(self):
fake_instance_uuid = 'fake-instance-id'
fake_instance = {'uuid': fake_instance_uuid}
@@ -373,7 +403,7 @@ class SchedulerManagerTestCase(test.TestCase):
self.context, None, request)
-class SchedulerTestCase(test.TestCase):
+class SchedulerTestCase(test.NoDBTestCase):
"""Test case for base scheduler driver class."""
# So we can subclass this test and re-use tests if we need.
@@ -435,11 +465,15 @@ class SchedulerTestCase(test.TestCase):
self.assertEqual(result, ['host2'])
def _live_migration_instance(self):
- inst_type = flavors.get_instance_type(1)
- # NOTE(danms): we have _got_ to stop doing this!
- inst_type['memory_mb'] = 1024
+ 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_instance_type_info({}, inst_type))
+ flavors.save_flavor_info({}, inst_type))
return {'id': 31337,
'uuid': 'fake_uuid',
'name': 'fake-instance',
@@ -788,7 +822,7 @@ class SchedulerTestCase(test.TestCase):
# Confirm dest is picked by scheduler if not set.
self.mox.StubOutWithMock(self.driver, 'select_hosts')
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
request_spec = {'instance_properties': instance,
'instance_type': {},
@@ -799,7 +833,7 @@ class SchedulerTestCase(test.TestCase):
ignore_hosts = [instance['host']]
filter_properties = {'ignore_hosts': ignore_hosts}
- flavors.extract_instance_type(instance).AndReturn({})
+ flavors.extract_flavor(instance).AndReturn({})
self.driver.select_hosts(self.context, request_spec,
filter_properties).AndReturn(['fake_host2'])
@@ -814,7 +848,7 @@ class SchedulerTestCase(test.TestCase):
# Confirm dest is picked by scheduler if not set.
self.mox.StubOutWithMock(self.driver, 'select_hosts')
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
request_spec = {'instance_properties': instance,
'instance_type': {},
@@ -824,7 +858,7 @@ class SchedulerTestCase(test.TestCase):
ignore_hosts = [instance['host']]
filter_properties = {'ignore_hosts': ignore_hosts}
- flavors.extract_instance_type(instance).AndReturn({})
+ flavors.extract_flavor(instance).AndReturn({})
self.driver.select_hosts(self.context, request_spec,
filter_properties).AndReturn(['fake_host2'])
@@ -837,7 +871,7 @@ class SchedulerTestCase(test.TestCase):
instance = self._live_migration_instance()
# Confirm scheduler picks target host if none given.
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
+ 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')
@@ -856,7 +890,7 @@ class SchedulerTestCase(test.TestCase):
self.driver._live_migration_src_check(self.context, instance)
- flavors.extract_instance_type(
+ flavors.extract_flavor(
instance).MultipleTimes().AndReturn({})
# First selected host raises exception.InvalidHypervisorType
@@ -927,7 +961,8 @@ class SchedulerTestCase(test.TestCase):
class SchedulerDriverBaseTestCase(SchedulerTestCase):
"""Test cases for base scheduler driver class methods
- that can't will fail if the driver is changed"""
+ that can't will fail if the driver is changed.
+ """
def test_unimplemented_schedule_run_instance(self):
fake_args = (1, 2, 3)
@@ -951,8 +986,12 @@ class SchedulerDriverBaseTestCase(SchedulerTestCase):
self.context, {},
fake_request_spec, {}, {}, {}, None)
+ def test_unimplemented_select_hosts(self):
+ self.assertRaises(NotImplementedError,
+ self.driver.select_hosts, self.context, {}, {})
+
-class SchedulerDriverModuleTestCase(test.TestCase):
+class SchedulerDriverModuleTestCase(test.NoDBTestCase):
"""Test case for scheduler driver module methods."""
def setUp(self):
diff --git a/nova/tests/scheduler/test_scheduler_options.py b/nova/tests/scheduler/test_scheduler_options.py
index df54cde5f..6ab245ef9 100644
--- a/nova/tests/scheduler/test_scheduler_options.py
+++ b/nova/tests/scheduler/test_scheduler_options.py
@@ -50,7 +50,7 @@ class FakeSchedulerOptions(scheduler_options.SchedulerOptions):
return self._time_now
-class SchedulerOptionsTestCase(test.TestCase):
+class SchedulerOptionsTestCase(test.NoDBTestCase):
def test_get_configuration_first_time_no_flag(self):
last_checked = None
now = datetime.datetime(2012, 1, 1, 1, 1, 1)
diff --git a/nova/tests/scheduler/test_weights.py b/nova/tests/scheduler/test_weights.py
index aa0f0c15f..7495edacc 100644
--- a/nova/tests/scheduler/test_weights.py
+++ b/nova/tests/scheduler/test_weights.py
@@ -23,7 +23,7 @@ from nova.tests import matchers
from nova.tests.scheduler import fakes
-class TestWeighedHost(test.TestCase):
+class TestWeighedHost(test.NoDBTestCase):
def test_dict_conversion(self):
host_state = fakes.FakeHostState('somehost', None, {})
host = weights.WeighedHost(host_state, 'someweight')
@@ -38,7 +38,7 @@ class TestWeighedHost(test.TestCase):
self.assertIn('RAMWeigher', class_names)
-class RamWeigherTestCase(test.TestCase):
+class RamWeigherTestCase(test.NoDBTestCase):
def setUp(self):
super(RamWeigherTestCase, self).setUp()
self.host_manager = fakes.FakeHostManager()
diff --git a/nova/tests/test_availability_zones.py b/nova/tests/test_availability_zones.py
index eefa1daf8..3923dd9a1 100644
--- a/nova/tests/test_availability_zones.py
+++ b/nova/tests/test_availability_zones.py
@@ -59,6 +59,10 @@ class AvailabilityZoneTestCases(test.TestCase):
return agg
+ def _update_az(self, aggregate, az_name):
+ metadata = {'availability_zone': az_name}
+ db.aggregate_update(self.context, aggregate['id'], metadata)
+
def _create_service_with_topic(self, topic, host, disabled=False):
values = {
'binary': 'bin',
@@ -77,7 +81,7 @@ class AvailabilityZoneTestCases(test.TestCase):
def _delete_from_aggregate(self, service, aggregate):
return db.aggregate_host_delete(self.context,
- self.aggregate['id'], service['host'])
+ aggregate['id'], service['host'])
def test_set_availability_zone_compute_service(self):
"""Test for compute service get right availability zone."""
@@ -119,6 +123,37 @@ class AvailabilityZoneTestCases(test.TestCase):
self.assertEquals(self.availability_zone,
az.get_host_availability_zone(self.context, self.host))
+ def test_update_host_availability_zone(self):
+ """Test availability zone could be update by given host."""
+ service = self._create_service_with_topic('compute', self.host)
+
+ # Create a new aggregate with an AZ and add the host to the AZ
+ az_name = 'az1'
+ agg_az1 = self._create_az('agg-az1', az_name)
+ self._add_to_aggregate(service, agg_az1)
+ self.assertEquals(az_name,
+ az.get_host_availability_zone(self.context, self.host))
+ # Update AZ
+ new_az_name = 'az2'
+ self._update_az(agg_az1, new_az_name)
+ self.assertEquals(new_az_name,
+ az.get_host_availability_zone(self.context, self.host))
+
+ def test_delete_host_availability_zone(self):
+ """Test availability zone could be deleted successfully."""
+ service = self._create_service_with_topic('compute', self.host)
+
+ # Create a new aggregate with an AZ and add the host to the AZ
+ az_name = 'az1'
+ agg_az1 = self._create_az('agg-az1', az_name)
+ self._add_to_aggregate(service, agg_az1)
+ self.assertEquals(az_name,
+ az.get_host_availability_zone(self.context, self.host))
+ # Delete the AZ via deleting the aggregate
+ self._delete_from_aggregate(service, agg_az1)
+ self.assertEquals(self.default_az,
+ az.get_host_availability_zone(self.context, self.host))
+
def test_get_availability_zones(self):
"""Test get_availability_zones."""
diff --git a/nova/tests/test_block_device.py b/nova/tests/test_block_device.py
index 8189057cb..716e7636d 100644
--- a/nova/tests/test_block_device.py
+++ b/nova/tests/test_block_device.py
@@ -20,7 +20,9 @@ Tests for Block Device utility functions.
"""
from nova import block_device
+from nova import exception
from nova import test
+from nova.tests import matchers
class BlockDeviceTestCase(test.TestCase):
@@ -126,3 +128,124 @@ class BlockDeviceTestCase(test.TestCase):
_assert_volume_in_mapping('sdf', True)
_assert_volume_in_mapping('sdg', False)
_assert_volume_in_mapping('sdh1', False)
+
+
+class TestBlockDeviceDict(test.TestCase):
+ def setUp(self):
+ super(TestBlockDeviceDict, self).setUp()
+
+ BDM = block_device.BlockDeviceDict
+
+ self.new_mapping = [
+ BDM({'id': 1, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sdb1',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'delete_on_termination': True,
+ 'guest_format': 'swap',
+ 'boot_index': -1}),
+ BDM({'id': 2, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sdc1',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'delete_on_termination': True,
+ 'boot_index': -1}),
+ BDM({'id': 3, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sda1',
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
+ 'volume_id': 'fake-folume-id-1',
+ 'connection_info': "{'fake': 'connection_info'}",
+ 'boot_index': -1}),
+ BDM({'id': 4, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sda2',
+ 'source_type': 'snapshot',
+ 'destination_type': 'volume',
+ 'connection_info': "{'fake': 'connection_info'}",
+ 'snapshot_id': 'fake-snapshot-id-1',
+ 'volume_id': 'fake-volume-id-2',
+ 'boot_index': -1}),
+ BDM({'id': 5, 'instance_uuid': 'fake-instance',
+ 'no_device': True,
+ 'device_name': '/dev/vdc'}),
+ ]
+
+ self.legacy_mapping = [
+ {'id': 1, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sdb1',
+ 'delete_on_termination': True,
+ 'virtual_name': 'swap'},
+ {'id': 2, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sdc1',
+ 'delete_on_termination': True,
+ 'virtual_name': 'ephemeral0'},
+ {'id': 3, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sda1',
+ 'volume_id': 'fake-folume-id-1',
+ 'connection_info': "{'fake': 'connection_info'}"},
+ {'id': 4, 'instance_uuid': 'fake-instance',
+ 'device_name': '/dev/sda2',
+ 'connection_info': "{'fake': 'connection_info'}",
+ 'snapshot_id': 'fake-snapshot-id-1',
+ 'volume_id': 'fake-volume-id-2'},
+ {'id': 5, 'instance_uuid': 'fake-instance',
+ 'no_device': True,
+ 'device_name': '/dev/vdc'},
+ ]
+
+ def test_init(self):
+ self.stubs.Set(block_device.BlockDeviceDict, '_fields',
+ set(['field1', 'field2']))
+ self.stubs.Set(block_device.BlockDeviceDict, '_db_only_fields',
+ set(['db_field1', 'db_field2']))
+
+ # Make sure db fields are not picked up if they are not
+ # in the original dict
+ dev_dict = block_device.BlockDeviceDict({'field1': 'foo',
+ 'field2': 'bar',
+ 'db_field1': 'baz'})
+ self.assertTrue('field1' in dev_dict)
+ self.assertTrue('field2' in dev_dict)
+ self.assertTrue('db_field1' in dev_dict)
+ self.assertFalse('db_field2'in dev_dict)
+
+ # Make sure all expected fields are defaulted
+ dev_dict = block_device.BlockDeviceDict({'field1': 'foo'})
+ self.assertTrue('field1' in dev_dict)
+ self.assertTrue('field2' in dev_dict)
+ self.assertTrue(dev_dict['field2'] is None)
+ self.assertFalse('db_field1' in dev_dict)
+ self.assertFalse('db_field2'in dev_dict)
+
+ # Unless they are not meant to be
+ dev_dict = block_device.BlockDeviceDict({'field1': 'foo'},
+ do_not_default=set(['field2']))
+ self.assertTrue('field1' in dev_dict)
+ self.assertFalse('field2' in dev_dict)
+ self.assertFalse('db_field1' in dev_dict)
+ self.assertFalse('db_field2'in dev_dict)
+
+ # Assert basic validation works
+ # NOTE (ndipanov): Move to separate test once we have
+ # more complex validations in place
+ self.assertRaises(exception.InvalidBDMFormat,
+ block_device.BlockDeviceDict,
+ {'field1': 'foo', 'bogus_field': 'lame_val'})
+
+ def test_from_legacy(self):
+ for legacy, new in zip(self.legacy_mapping, self.new_mapping):
+ self.assertThat(
+ block_device.BlockDeviceDict.from_legacy(legacy),
+ matchers.IsSubDictOf(new))
+
+ def test_legacy(self):
+ for legacy, new in zip(self.legacy_mapping, self.new_mapping):
+ self.assertThat(
+ legacy,
+ matchers.IsSubDictOf(new.legacy()))
+
+ def test_legacy_mapping(self):
+ got_legacy = block_device.legacy_mapping(self.new_mapping)
+
+ for legacy, expected in zip(got_legacy, self.legacy_mapping):
+ self.assertThat(expected, matchers.IsSubDictOf(legacy))
diff --git a/nova/tests/test_cinder.py b/nova/tests/test_cinder.py
index e8dff9a4a..98cc1c3f9 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')}
diff --git a/nova/tests/test_configdrive2.py b/nova/tests/test_configdrive2.py
index a71a01f8f..490edc4ed 100644
--- a/nova/tests/test_configdrive2.py
+++ b/nova/tests/test_configdrive2.py
@@ -22,6 +22,7 @@ import tempfile
from nova import test
+from nova.openstack.common import fileutils
from nova import utils
from nova.virt import configdrive
@@ -53,7 +54,7 @@ class ConfigDriveTestCase(test.TestCase):
finally:
if imagefile:
- utils.delete_if_exists(imagefile)
+ fileutils.delete_if_exists(imagefile)
def test_create_configdrive_vfat(self):
imagefile = None
@@ -87,4 +88,4 @@ class ConfigDriveTestCase(test.TestCase):
finally:
if imagefile:
- utils.delete_if_exists(imagefile)
+ fileutils.delete_if_exists(imagefile)
diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_flavors.py
index d8a915730..bd3f805cd 100644
--- a/nova/tests/test_instance_types.py
+++ b/nova/tests/test_flavors.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
"""
-Unit Tests for instance types code
+Unit Tests for flavors code
"""
import time
@@ -27,11 +27,11 @@ from nova import test
class InstanceTypeTestCase(test.TestCase):
- """Test cases for instance type code."""
+ """Test cases for flavor code."""
def _generate_name(self):
"""return a name not in the DB."""
nonexistent_flavor = str(int(time.time()))
- all_flavors = flavors.get_all_types()
+ all_flavors = flavors.get_all_flavors()
while nonexistent_flavor in all_flavors:
nonexistent_flavor += "z"
else:
@@ -41,15 +41,15 @@ class InstanceTypeTestCase(test.TestCase):
"""return a flavorid not in the DB."""
nonexistent_flavor = 2700
flavor_ids = [value["id"] for key, value in
- flavors.get_all_types().iteritems()]
+ flavors.get_all_flavors().iteritems()]
while nonexistent_flavor in flavor_ids:
nonexistent_flavor += 1
else:
return nonexistent_flavor
def _existing_flavor(self):
- """return first instance type name."""
- return flavors.get_all_types().keys()[0]
+ """return first flavor name."""
+ return flavors.get_all_flavors().keys()[0]
def test_add_instance_type_access(self):
user_id = 'fake'
@@ -58,51 +58,51 @@ class InstanceTypeTestCase(test.TestCase):
flavor_id = 'flavor1'
type_ref = flavors.create('some flavor', 256, 1, 120, 100,
flavorid=flavor_id)
- access_ref = flavors.add_instance_type_access(flavor_id,
+ access_ref = flavors.add_flavor_access(flavor_id,
project_id,
ctxt=ctxt)
self.assertEqual(access_ref["project_id"], project_id)
self.assertEqual(access_ref["instance_type_id"], type_ref["id"])
- def test_add_instance_type_access_already_exists(self):
+ def test_add_flavor_access_already_exists(self):
user_id = 'fake'
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_instance_type_access(flavor_id,
+ access_ref = flavors.add_flavor_access(flavor_id,
project_id,
ctxt=ctxt)
self.assertRaises(exception.FlavorAccessExists,
- flavors.add_instance_type_access,
+ flavors.add_flavor_access,
flavor_id, project_id, ctxt)
- def test_add_instance_type_access_invalid_flavor(self):
+ def test_add_flavor_access_invalid_flavor(self):
user_id = 'fake'
project_id = 'fake'
ctxt = context.RequestContext(user_id, project_id, is_admin=True)
flavor_id = 'no_such_flavor'
self.assertRaises(exception.FlavorNotFound,
- flavors.add_instance_type_access,
+ flavors.add_flavor_access,
flavor_id, project_id, ctxt)
- def test_remove_instance_type_access(self):
+ def test_remove_flavor_access(self):
user_id = 'fake'
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_instance_type_access(flavor_id, project_id,
+ access_ref = flavors.add_flavor_access(flavor_id, project_id,
ctxt)
- flavors.remove_instance_type_access(flavor_id, project_id, ctxt)
+ flavors.remove_flavor_access(flavor_id, project_id, ctxt)
- projects = flavors.get_instance_type_access_by_flavor_id(flavor_id,
+ projects = flavors.get_flavor_access_by_flavor_id(flavor_id,
ctxt)
self.assertEqual([], projects)
- def test_remove_instance_type_access_doesnt_exists(self):
+ def test_remove_flavor_access_doesnt_exists(self):
user_id = 'fake'
project_id = 'fake'
ctxt = context.RequestContext(user_id, project_id, is_admin=True)
@@ -110,18 +110,18 @@ class InstanceTypeTestCase(test.TestCase):
type_ref = flavors.create('some flavor', 256, 1, 120, 100,
flavorid=flavor_id)
self.assertRaises(exception.FlavorAccessNotFound,
- flavors.remove_instance_type_access,
+ flavors.remove_flavor_access,
flavor_id, project_id, ctxt=ctxt)
def test_get_all_instance_types(self):
- # Ensures that all instance types can be retrieved.
+ # Ensures that all flavors can be retrieved.
session = sql_session.get_session()
total_instance_types = session.query(models.InstanceTypes).count()
- inst_types = flavors.get_all_types()
+ inst_types = flavors.get_all_flavors()
self.assertEqual(total_instance_types, len(inst_types))
def test_non_existent_inst_type_shouldnt_delete(self):
- # Ensures that instance type creation fails with invalid args.
+ # Ensures that flavor creation fails with invalid args.
self.assertRaises(exception.InstanceTypeNotFoundByName,
flavors.destroy,
'unknown_flavor')
@@ -132,52 +132,52 @@ class InstanceTypeTestCase(test.TestCase):
flavors.destroy, None)
def test_will_not_get_bad_default_instance_type(self):
- # ensures error raised on bad default instance type.
- self.flags(default_instance_type='unknown_flavor')
+ # ensures error raised on bad default flavor.
+ self.flags(default_flavor='unknown_flavor')
self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_default_instance_type)
+ flavors.get_default_flavor)
- def test_will_get_instance_type_by_id(self):
- default_instance_type = flavors.get_default_instance_type()
+ def test_will_get_flavor_by_id(self):
+ default_instance_type = flavors.get_default_flavor()
instance_type_id = default_instance_type['id']
- fetched = flavors.get_instance_type(instance_type_id)
+ fetched = flavors.get_flavor(instance_type_id)
self.assertEqual(default_instance_type, fetched)
- def test_will_not_get_instance_type_by_unknown_id(self):
+ def test_will_not_get_flavor_by_unknown_id(self):
# Ensure get by name returns default flavor with no name.
self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_instance_type, 10000)
+ flavors.get_flavor, 10000)
- def test_will_not_get_instance_type_with_bad_id(self):
+ def test_will_not_get_flavor_with_bad_id(self):
# Ensure get by name returns default flavor with bad name.
self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_instance_type, 'asdf')
+ flavors.get_flavor, 'asdf')
- def test_instance_type_get_by_None_name_returns_default(self):
+ def test_flavor_get_by_None_name_returns_default(self):
# Ensure get by name returns default flavor with no name.
- default = flavors.get_default_instance_type()
- actual = flavors.get_instance_type_by_name(None)
+ default = flavors.get_default_flavor()
+ actual = flavors.get_flavor_by_name(None)
self.assertEqual(default, actual)
- def test_will_not_get_instance_type_with_bad_name(self):
+ def test_will_not_get_flavor_with_bad_name(self):
# Ensure get by name returns default flavor with bad name.
self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_instance_type_by_name, 10000)
+ flavors.get_flavor_by_name, 10000)
def test_will_not_get_instance_by_unknown_flavor_id(self):
# Ensure get by flavor raises error with wrong flavorid.
self.assertRaises(exception.FlavorNotFound,
- flavors.get_instance_type_by_flavor_id,
+ flavors.get_flavor_by_flavor_id,
'unknown_flavor')
def test_will_get_instance_by_flavor_id(self):
- default_instance_type = flavors.get_default_instance_type()
+ default_instance_type = flavors.get_default_flavor()
flavorid = default_instance_type['flavorid']
- fetched = flavors.get_instance_type_by_flavor_id(flavorid)
+ fetched = flavors.get_flavor_by_flavor_id(flavorid)
self.assertEqual(default_instance_type, fetched)
def test_can_read_deleted_types_using_flavor_id(self):
- # Ensure deleted instance types can be read when querying flavor_id.
+ # Ensure deleted flavors can be read when querying flavor_id.
inst_type_name = "test"
inst_type_flavor_id = "test1"
@@ -186,16 +186,16 @@ class InstanceTypeTestCase(test.TestCase):
self.assertEqual(inst_type_name, inst_type["name"])
# NOTE(jk0): The deleted flavor will show up here because the context
- # in get_instance_type_by_flavor_id() is set to use read_deleted by
+ # in get_flavor_by_flavor_id() is set to use read_deleted by
# default.
flavors.destroy(inst_type["name"])
- deleted_inst_type = flavors.get_instance_type_by_flavor_id(
+ deleted_inst_type = flavors.get_flavor_by_flavor_id(
inst_type_flavor_id)
self.assertEqual(inst_type_name, deleted_inst_type["name"])
def test_read_deleted_false_converting_flavorid(self):
"""
- Ensure deleted instance types are not returned when not needed (for
+ Ensure deleted flavors are not returned when not needed (for
example when creating a server and attempting to translate from
flavorid to instance_type_id.
"""
@@ -203,7 +203,7 @@ class InstanceTypeTestCase(test.TestCase):
flavors.destroy("instance_type1")
flavors.create("instance_type1_redo", 256, 1, 120, 100, "test1")
- instance_type = flavors.get_instance_type_by_flavor_id(
+ instance_type = flavors.get_flavor_by_flavor_id(
"test1", read_deleted="no")
self.assertEqual("instance_type1_redo", instance_type["name"])
@@ -212,52 +212,52 @@ class InstanceTypeToolsTest(test.TestCase):
def _dict_to_metadata(self, data):
return [{'key': key, 'value': value} for key, value in data.items()]
- def _test_extract_instance_type(self, prefix):
- instance_type = flavors.get_default_instance_type()
+ def _test_extract_flavor(self, prefix):
+ instance_type = flavors.get_default_flavor()
metadata = {}
- flavors.save_instance_type_info(metadata, instance_type,
+ flavors.save_flavor_info(metadata, instance_type,
prefix)
instance = {'system_metadata': self._dict_to_metadata(metadata)}
- _instance_type = flavors.extract_instance_type(instance, prefix)
+ _instance_type = flavors.extract_flavor(instance, prefix)
- props = flavors.system_metadata_instance_type_props.keys()
+ props = flavors.system_metadata_flavor_props.keys()
for key in instance_type.keys():
if key not in props:
del instance_type[key]
self.assertEqual(instance_type, _instance_type)
- def test_extract_instance_type(self):
- self._test_extract_instance_type('')
+ def test_extract_flavor(self):
+ self._test_extract_flavor('')
- def test_extract_instance_type_prefix(self):
- self._test_extract_instance_type('foo_')
+ def test_extract_flavor_prefix(self):
+ self._test_extract_flavor('foo_')
- def test_save_instance_type_info(self):
- instance_type = flavors.get_default_instance_type()
+ def test_save_flavor_info(self):
+ instance_type = flavors.get_default_flavor()
example = {}
example_prefix = {}
- for key in flavors.system_metadata_instance_type_props.keys():
+ for key in flavors.system_metadata_flavor_props.keys():
example['instance_type_%s' % key] = instance_type[key]
example_prefix['fooinstance_type_%s' % key] = instance_type[key]
metadata = {}
- flavors.save_instance_type_info(metadata, instance_type)
+ flavors.save_flavor_info(metadata, instance_type)
self.assertEqual(example, metadata)
metadata = {}
- flavors.save_instance_type_info(metadata, instance_type, 'foo')
+ flavors.save_flavor_info(metadata, instance_type, 'foo')
self.assertEqual(example_prefix, metadata)
- def test_delete_instance_type_info(self):
- instance_type = flavors.get_default_instance_type()
+ def test_delete_flavor_info(self):
+ instance_type = flavors.get_default_flavor()
metadata = {}
- flavors.save_instance_type_info(metadata, instance_type)
- flavors.save_instance_type_info(metadata, instance_type, '_')
- flavors.delete_instance_type_info(metadata, '', '_')
+ flavors.save_flavor_info(metadata, instance_type)
+ flavors.save_flavor_info(metadata, instance_type, '_')
+ flavors.delete_flavor_info(metadata, '', '_')
self.assertEqual(metadata, {})
@@ -391,7 +391,7 @@ class CreateInstanceTypeTest(test.TestCase):
def test_basic_create(self):
# Ensure instance types can be created.
- original_list = flavors.get_all_types()
+ original_list = flavors.get_all_flavors()
# Create new type and make sure values stick
flavor = flavors.create('flavor', 64, 1, 120)
@@ -401,26 +401,26 @@ class CreateInstanceTypeTest(test.TestCase):
self.assertEqual(flavor['root_gb'], 120)
# Ensure new type shows up in list
- new_list = flavors.get_all_types()
+ new_list = flavors.get_all_flavors()
self.assertNotEqual(len(original_list), len(new_list),
'flavor was not created')
def test_create_then_delete(self):
- original_list = flavors.get_all_types()
+ original_list = flavors.get_all_flavors()
flavor = flavors.create('flavor', 64, 1, 120)
# Ensure new type shows up in list
- new_list = flavors.get_all_types()
+ new_list = flavors.get_all_flavors()
self.assertNotEqual(len(original_list), len(new_list),
'instance type was not created')
flavors.destroy('flavor')
self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_instance_type, flavor['id'])
+ flavors.get_flavor, flavor['id'])
# Deleted instance should not be in list anymore
- new_list = flavors.get_all_types()
+ new_list = flavors.get_all_flavors()
self.assertEqual(original_list, new_list)
def test_duplicate_names_fail(self):
diff --git a/nova/tests/test_linuxscsi.py b/nova/tests/test_linuxscsi.py
index 0775b9d5b..8c098a846 100644
--- a/nova/tests/test_linuxscsi.py
+++ b/nova/tests/test_linuxscsi.py
@@ -43,11 +43,20 @@ class StorageLinuxSCSITestCase(test.TestCase):
out = ("mpath6 (350002ac20398383d) dm-3 3PARdata,VV\n"
"size=2.0G features='0' hwhandler='0' wp=rw\n"
"`-+- policy='round-robin 0' prio=-1 status=active\n"
- " |- 0:0:0:1 sde 8:64 active undef running\n"
+ " |- 0:0:0:1 sde 8:64 active undef running\n"
" `- 2:0:0:1 sdf 8:80 active undef running\n"
)
return out, None
+ def fake_execute2(*cmd, **kwargs):
+ out = ("350002ac20398383d dm-3 3PARdata,VV\n"
+ "size=2.0G features='0' hwhandler='0' wp=rw\n"
+ "`-+- policy='round-robin 0' prio=-1 status=active\n"
+ " |- 0:0:0:1 sde 8:64 active undef running\n"
+ " `- 2:0:0:1 sdf 8:80 active undef running\n"
+ )
+ return out, None
+
self.stubs.Set(utils, 'execute', fake_execute)
info = linuxscsi.find_multipath_device('/dev/sde')
diff --git a/nova/tests/test_metadata.py b/nova/tests/test_metadata.py
index 86d618930..8cdc3e7af 100644
--- a/nova/tests/test_metadata.py
+++ b/nova/tests/test_metadata.py
@@ -77,8 +77,8 @@ INSTANCES = (
def get_default_sys_meta():
return utils.dict_to_metadata(
- flavors.save_instance_type_info(
- {}, flavors.get_default_instance_type()))
+ flavors.save_flavor_info(
+ {}, flavors.get_default_flavor()))
def return_non_existing_address(*args, **kwarg):
@@ -188,19 +188,24 @@ class MetadataTestCase(test.TestCase):
return [{'volume_id': 87654321,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': None,
+ 'source_type': 'volume',
+ 'destination_type': 'volume',
'delete_on_termination': True,
'device_name': '/dev/sdh'},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'swap',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': 'swap',
'delete_on_termination': None,
'device_name': '/dev/sdc'},
{'volume_id': None,
'snapshot_id': None,
'no_device': None,
- 'virtual_name': 'ephemeral0',
+ 'source_type': 'blank',
+ 'destination_type': 'local',
+ 'guest_format': None,
'delete_on_termination': None,
'device_name': '/dev/sdb'}]
@@ -214,6 +219,7 @@ class MetadataTestCase(test.TestCase):
'ebs0': '/dev/sdh'}
capi = conductor_api.LocalAPI()
+
self.assertEqual(base._format_instance_mapping(capi, ctxt,
instance_ref0), block_device._DEFAULT_MAPPINGS)
self.assertEqual(base._format_instance_mapping(capi, ctxt,
diff --git a/nova/tests/test_notifications.py b/nova/tests/test_notifications.py
index 988ce983d..0d7c0e7a8 100644
--- a/nova/tests/test_notifications.py
+++ b/nova/tests/test_notifications.py
@@ -69,8 +69,8 @@ class NotificationsTestCase(test.TestCase):
self.instance = self._wrapped_create()
def _wrapped_create(self, params=None):
- instance_type = flavors.get_instance_type_by_name('m1.tiny')
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ instance_type = flavors.get_flavor_by_name('m1.tiny')
+ sys_meta = flavors.save_flavor_info({}, instance_type)
inst = {}
inst['image_ref'] = 1
inst['user_id'] = self.user_id
@@ -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 30f823ace..be3669958 100644
--- a/nova/tests/test_quota.py
+++ b/nova/tests/test_quota.py
@@ -95,7 +95,7 @@ class QuotaIntegrationTestCase(test.TestCase):
for i in range(CONF.quota_instances):
instance = self._create_instance()
instance_uuids.append(instance['uuid'])
- inst_type = flavors.get_instance_type_by_name('m1.small')
+ inst_type = flavors.get_flavor_by_name('m1.small')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
self.assertRaises(exception.QuotaError, compute.API().create,
self.context,
@@ -108,7 +108,7 @@ class QuotaIntegrationTestCase(test.TestCase):
def test_too_many_cores(self):
instance = self._create_instance(cores=4)
- inst_type = flavors.get_instance_type_by_name('m1.small')
+ inst_type = flavors.get_flavor_by_name('m1.small')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
self.assertRaises(exception.QuotaError, compute.API().create,
self.context,
@@ -146,7 +146,7 @@ class QuotaIntegrationTestCase(test.TestCase):
metadata = {}
for i in range(CONF.quota_metadata_items + 1):
metadata['key%s' % i] = 'value%s' % i
- inst_type = flavors.get_instance_type_by_name('m1.small')
+ inst_type = flavors.get_flavor_by_name('m1.small')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
self.assertRaises(exception.QuotaError, compute.API().create,
self.context,
@@ -158,7 +158,7 @@ class QuotaIntegrationTestCase(test.TestCase):
def _create_with_injected_files(self, files):
api = compute.API()
- inst_type = flavors.get_instance_type_by_name('m1.small')
+ inst_type = flavors.get_flavor_by_name('m1.small')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
api.create(self.context, min_count=1, max_count=1,
instance_type=inst_type, image_href=image_uuid,
@@ -166,7 +166,7 @@ class QuotaIntegrationTestCase(test.TestCase):
def test_no_injected_files(self):
api = compute.API()
- inst_type = flavors.get_instance_type_by_name('m1.small')
+ inst_type = flavors.get_flavor_by_name('m1.small')
image_uuid = 'cedef40a-ed67-4d10-800e-17455edce175'
api.create(self.context,
instance_type=inst_type,
@@ -1475,7 +1475,7 @@ class QuotaReserveSqlAlchemyTestCase(test.TestCase):
self.stubs.Set(sqa_api, 'get_session', fake_get_session)
self.stubs.Set(sqa_api, '_get_quota_usages', fake_get_quota_usages)
self.stubs.Set(sqa_api, '_quota_usage_create', fake_quota_usage_create)
- self.stubs.Set(sqa_api, 'reservation_create', fake_reservation_create)
+ self.stubs.Set(sqa_api, '_reservation_create', fake_reservation_create)
self.useFixture(test.TimeOverride())
diff --git a/nova/tests/test_service.py b/nova/tests/test_service.py
index 3ca6d7bc1..055e46bfd 100644
--- a/nova/tests/test_service.py
+++ b/nova/tests/test_service.py
@@ -21,6 +21,7 @@ Unit Tests for remote procedure calls using queue
"""
import sys
+import testtools
import mox
from oslo.config import cfg
@@ -31,6 +32,7 @@ from nova import exception
from nova import manager
from nova import service
from nova import test
+from nova.tests import utils
from nova import wsgi
test_service_opts = [
@@ -184,6 +186,7 @@ class TestWSGIService(test.TestCase):
self.assertNotEqual(0, test_service.port)
test_service.stop()
+ @testtools.skipIf(not utils.is_ipv6_supported(), "no ipv6 support")
def test_service_random_port_with_ipv6(self):
CONF.set_default("test_service_listen", "::1")
test_service = service.WSGIService("test_service")
diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py
index f400bb899..609280261 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
diff --git a/nova/tests/test_wsgi.py b/nova/tests/test_wsgi.py
index cd64688a2..7118aa938 100644
--- a/nova/tests/test_wsgi.py
+++ b/nova/tests/test_wsgi.py
@@ -20,13 +20,14 @@
import os.path
import tempfile
+import testtools
import eventlet
-import httplib2
-import paste
+import requests
import nova.exception
from nova import test
+from nova.tests import utils
import nova.wsgi
import urllib2
import webob
@@ -101,6 +102,7 @@ class TestWSGIServer(test.TestCase):
server.stop()
server.wait()
+ @testtools.skipIf(not utils.is_ipv6_supported(), "no ipv6 support")
def test_start_random_port_with_ipv6(self):
server = nova.wsgi.Server("test_random_port", None,
host="::1", port=0)
@@ -116,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()
@@ -198,6 +200,7 @@ class TestWSGIServerWithSSL(test.TestCase):
fake_ssl_server.stop()
fake_ssl_server.wait()
+ @testtools.skipIf(not utils.is_ipv6_supported(), "no ipv6 support")
def test_app_using_ipv6_and_ssl(self):
greetings = 'Hello, World!!!'
@@ -210,6 +213,7 @@ class TestWSGIServerWithSSL(test.TestCase):
host="::1",
port=0,
use_ssl=True)
+
server.start()
response = urllib2.urlopen('https://[::1]:%d/' % server.port)
diff --git a/nova/tests/utils.py b/nova/tests/utils.py
index 3d429aada..556d1f91d 100644
--- a/nova/tests/utils.py
+++ b/nova/tests/utils.py
@@ -14,7 +14,9 @@
# License for the specific language governing permissions and limitations
#
+import errno
import platform
+import socket
from oslo.config import cfg
@@ -58,7 +60,7 @@ def get_test_instance_type(context=None):
try:
instance_type_ref = nova.db.instance_type_create(context,
test_instance_type)
- except exception.InstanceTypeExists:
+ except (exception.InstanceTypeExists, exception.InstanceTypeIdExists):
instance_type_ref = nova.db.instance_type_get_by_name(context,
'kinda.big')
return instance_type_ref
@@ -72,7 +74,7 @@ def get_test_instance(context=None, instance_type=None):
instance_type = get_test_instance_type(context)
metadata = {}
- flavors.save_instance_type_info(metadata, instance_type, '')
+ flavors.save_flavor_info(metadata, instance_type, '')
test_instance = {'memory_kb': '2048000',
'basepath': '/some/path',
@@ -200,3 +202,15 @@ def killer_xml_body():
'c': '&b;' * 10,
'd': '&c;' * 9999,
}).strip()
+
+
+def is_ipv6_supported():
+ has_ipv6_support = True
+ try:
+ s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
+ except socket.error as e:
+ if e.errno == errno.EAFNOSUPPORT:
+ has_ipv6_support = False
+ else:
+ 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_ipmi.py b/nova/tests/virt/baremetal/test_ipmi.py
index ba7a875cf..4b289db15 100644
--- a/nova/tests/virt/baremetal/test_ipmi.py
+++ b/nova/tests/virt/baremetal/test_ipmi.py
@@ -56,7 +56,7 @@ class BareMetalIPMITestCase(test.TestCase):
pw_file = ipmi._make_password_file(self.node['pm_password'])
try:
self.assertTrue(os.path.isfile(pw_file))
- self.assertEqual(os.stat(pw_file)[stat.ST_MODE] & 0777, 0600)
+ self.assertEqual(os.stat(pw_file)[stat.ST_MODE] & 0o777, 0o600)
with open(pw_file, "r") as f:
pm_password = f.read()
self.assertEqual(pm_password, self.node['pm_password'])
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/libvirt/fakelibvirt.py b/nova/tests/virt/libvirt/fakelibvirt.py
index 9594757a8..5435ee13b 100644
--- a/nova/tests/virt/libvirt/fakelibvirt.py
+++ b/nova/tests/virt/libvirt/fakelibvirt.py
@@ -618,6 +618,7 @@ class Connection(object):
self._event_callbacks[eventid] = [callback, opaque]
def getCapabilities(self):
+ """Return spoofed capabilities."""
return '''<capabilities>
<host>
<uuid>cef19ce0-0ca2-11df-855d-b19fbce37686</uuid>
diff --git a/nova/tests/virt/libvirt/test_imagebackend.py b/nova/tests/virt/libvirt/test_imagebackend.py
index 50aacba2f..fa708f4f4 100644
--- a/nova/tests/virt/libvirt/test_imagebackend.py
+++ b/nova/tests/virt/libvirt/test_imagebackend.py
@@ -258,6 +258,7 @@ class Qcow2TestCase(_ImageTestCase, test.TestCase):
if self.OLD_STYLE_INSTANCE_PATH:
os.path.exists(self.OLD_STYLE_INSTANCE_PATH).AndReturn(False)
os.path.exists(self.TEMPLATE_PATH).AndReturn(False)
+ os.path.exists(self.PATH).AndReturn(False)
imagebackend.disk.get_disk_size(self.TEMPLATE_PATH
).AndReturn(self.SIZE)
os.path.exists(self.PATH).AndReturn(False)
@@ -279,6 +280,7 @@ class Qcow2TestCase(_ImageTestCase, test.TestCase):
if self.OLD_STYLE_INSTANCE_PATH:
os.path.exists(self.OLD_STYLE_INSTANCE_PATH).AndReturn(False)
os.path.exists(self.TEMPLATE_PATH).AndReturn(False)
+ os.path.exists(self.PATH).AndReturn(False)
imagebackend.disk.get_disk_size(self.TEMPLATE_PATH
).AndReturn(self.SIZE)
self.mox.ReplayAll()
@@ -288,6 +290,35 @@ class Qcow2TestCase(_ImageTestCase, test.TestCase):
image.create_image, fn, self.TEMPLATE_PATH, 1)
self.mox.VerifyAll()
+ def test_generate_resized_backing_files(self):
+ fn = self.prepare_mocks()
+ fn(target=self.TEMPLATE_PATH)
+ self.mox.StubOutWithMock(os.path, 'exists')
+ self.mox.StubOutWithMock(imagebackend.disk, 'get_disk_size')
+ self.mox.StubOutWithMock(imagebackend.libvirt_utils,
+ 'get_disk_backing_file')
+ if self.OLD_STYLE_INSTANCE_PATH:
+ os.path.exists(self.OLD_STYLE_INSTANCE_PATH).AndReturn(False)
+ os.path.exists(self.TEMPLATE_PATH).AndReturn(False)
+ os.path.exists(self.PATH).AndReturn(True)
+
+ imagebackend.libvirt_utils.get_disk_backing_file(self.PATH)\
+ .AndReturn(self.QCOW2_BASE)
+ os.path.exists(self.QCOW2_BASE).AndReturn(False)
+ imagebackend.libvirt_utils.copy_image(self.TEMPLATE_PATH,
+ self.QCOW2_BASE)
+ imagebackend.disk.extend(self.QCOW2_BASE, self.SIZE)
+
+ imagebackend.disk.get_disk_size(self.TEMPLATE_PATH
+ ).AndReturn(self.SIZE)
+ os.path.exists(self.PATH).AndReturn(True)
+ self.mox.ReplayAll()
+
+ image = self.image_class(self.INSTANCE, self.NAME)
+ image.create_image(fn, self.TEMPLATE_PATH, self.SIZE)
+
+ self.mox.VerifyAll()
+
class LvmTestCase(_ImageTestCase, test.TestCase):
VG = 'FakeVG'
diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py
index 83d564c29..3c658a7f5 100644
--- a/nova/tests/virt/libvirt/test_libvirt.py
+++ b/nova/tests/virt/libvirt/test_libvirt.py
@@ -309,6 +309,7 @@ class LibvirtConnTestCase(test.TestCase):
class FakeConn():
def getCapabilities(self):
+ """Ensure standard capabilities being returned."""
return """<capabilities>
<host><cpu><arch>x86_64</arch></cpu></host>
</capabilities>"""
@@ -316,12 +317,15 @@ class LibvirtConnTestCase(test.TestCase):
def getLibVersion(self):
return (0 * 1000 * 1000) + (9 * 1000) + 11
+ def registerCloseCallback(self, cb, opaque):
+ pass
+
self.conn = FakeConn()
self.stubs.Set(libvirt_driver.LibvirtDriver, '_connect',
lambda *a, **k: self.conn)
instance_type = db.instance_type_get(self.context, 5)
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ sys_meta = flavors.save_flavor_info({}, instance_type)
nova.tests.image.fake.stub_out_image_service(self.stubs)
self.test_instance = {
@@ -402,6 +406,37 @@ class LibvirtConnTestCase(test.TestCase):
result = conn.get_volume_connector(volume)
self.assertThat(expected, matchers.DictMatches(result))
+ def test_close_callback(self):
+ def get_lib_version_stub():
+ return (1 * 1000 * 1000) + (0 * 1000) + 1
+
+ self.close_callback = None
+
+ def set_close_callback(cb, opaque):
+ self.close_callback = cb
+
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
+ self.stubs.Set(self.conn, "getLibVersion", get_lib_version_stub)
+ self.mox.StubOutWithMock(conn, '_connect')
+ self.mox.StubOutWithMock(self.conn, 'registerCloseCallback')
+
+ conn._connect(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(self.conn)
+ self.conn.registerCloseCallback(
+ mox.IgnoreArg(), mox.IgnoreArg()).WithSideEffects(
+ set_close_callback)
+ conn._connect(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(self.conn)
+ self.conn.registerCloseCallback(mox.IgnoreArg(), mox.IgnoreArg())
+ self.mox.ReplayAll()
+
+ # verify that the driver registers for the close callback
+ # and re-connects after receiving the callback
+ conn._get_connection()
+
+ self.assertTrue(self.close_callback)
+ self.close_callback(self.conn, 1, None)
+
+ conn._get_connection()
+
def test_get_guest_config(self):
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = db.instance_create(self.context, self.test_instance)
@@ -1047,7 +1082,20 @@ class LibvirtConnTestCase(test.TestCase):
self.mox.ReplayAll()
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
instances = conn.list_instances()
- # Only one should be listed, since domain with ID 0 must be skiped
+ # Only one should be listed, since domain with ID 0 must be skipped
+ self.assertEquals(len(instances), 1)
+
+ def test_list_instance_uuids(self):
+ self.mox.StubOutWithMock(libvirt_driver.LibvirtDriver, '_conn')
+ libvirt_driver.LibvirtDriver._conn.lookupByID = self.fake_lookup
+ libvirt_driver.LibvirtDriver._conn.numOfDomains = lambda: 2
+ libvirt_driver.LibvirtDriver._conn.listDomainsID = lambda: [0, 1]
+ libvirt_driver.LibvirtDriver._conn.listDefinedDomains = lambda: []
+
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ instances = conn.list_instance_uuids()
+ # Only one should be listed, since domain with ID 0 must be skipped
self.assertEquals(len(instances), 1)
def test_list_defined_instances(self):
@@ -1084,6 +1132,63 @@ class LibvirtConnTestCase(test.TestCase):
# None should be listed, since we fake deleted the last one
self.assertEquals(len(instances), 0)
+ def test_list_instance_uuids_when_instance_deleted(self):
+
+ def fake_lookup(instance_name):
+ raise libvirt.libvirtError("we deleted an instance!")
+
+ self.mox.StubOutWithMock(libvirt_driver.LibvirtDriver, '_conn')
+ libvirt_driver.LibvirtDriver._conn.lookupByID = fake_lookup
+ libvirt_driver.LibvirtDriver._conn.numOfDomains = lambda: 1
+ libvirt_driver.LibvirtDriver._conn.listDomainsID = lambda: [0, 1]
+ libvirt_driver.LibvirtDriver._conn.listDefinedDomains = lambda: []
+
+ self.mox.StubOutWithMock(libvirt.libvirtError, "get_error_code")
+ libvirt.libvirtError.get_error_code().AndReturn(
+ libvirt.VIR_ERR_NO_DOMAIN)
+
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ instances = conn.list_instance_uuids()
+ # None should be listed, since we fake deleted the last one
+ self.assertEquals(len(instances), 0)
+
+ def test_list_instances_throws_nova_exception(self):
+ def fake_lookup(instance_name):
+ raise libvirt.libvirtError("we deleted an instance!")
+
+ self.mox.StubOutWithMock(libvirt_driver.LibvirtDriver, '_conn')
+ libvirt_driver.LibvirtDriver._conn.lookupByID = fake_lookup
+ libvirt_driver.LibvirtDriver._conn.numOfDomains = lambda: 1
+ libvirt_driver.LibvirtDriver._conn.listDomainsID = lambda: [0, 1]
+ libvirt_driver.LibvirtDriver._conn.listDefinedDomains = lambda: []
+
+ self.mox.StubOutWithMock(libvirt.libvirtError, "get_error_code")
+ libvirt.libvirtError.get_error_code().AndReturn(
+ libvirt.VIR_ERR_INTERNAL_ERROR)
+
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ self.assertRaises(exception.NovaException, conn.list_instances)
+
+ def test_list_instance_uuids_throws_nova_exception(self):
+ def fake_lookup(instance_name):
+ raise libvirt.libvirtError("we deleted an instance!")
+
+ self.mox.StubOutWithMock(libvirt_driver.LibvirtDriver, '_conn')
+ libvirt_driver.LibvirtDriver._conn.lookupByID = fake_lookup
+ libvirt_driver.LibvirtDriver._conn.numOfDomains = lambda: 1
+ libvirt_driver.LibvirtDriver._conn.listDomainsID = lambda: [0, 1]
+ libvirt_driver.LibvirtDriver._conn.listDefinedDomains = lambda: []
+
+ self.mox.StubOutWithMock(libvirt.libvirtError, "get_error_code")
+ libvirt.libvirtError.get_error_code().AndReturn(
+ libvirt.VIR_ERR_INTERNAL_ERROR)
+
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ self.assertRaises(exception.NovaException, conn.list_instance_uuids)
+
def test_get_all_block_devices(self):
xml = [
# NOTE(vish): id 0 is skipped
@@ -2613,7 +2718,7 @@ class LibvirtConnTestCase(test.TestCase):
instance_ref['image_ref'] = 123456 # we send an int to test sha1 call
instance_type = db.instance_type_get(self.context,
instance_ref['instance_type_id'])
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ sys_meta = flavors.save_flavor_info({}, instance_type)
instance_ref['system_metadata'] = sys_meta
instance = db.instance_create(self.context, instance_ref)
@@ -2708,6 +2813,7 @@ class LibvirtConnTestCase(test.TestCase):
instance_ref = self.test_instance
instance_ref['image_ref'] = ''
instance_ref['root_device_name'] = '/dev/vda'
+ instance_ref['uuid'] = uuidutils.generate_uuid()
instance = db.instance_create(self.context, instance_ref)
conn.spawn(self.context, instance, None, [], None,
@@ -2719,6 +2825,7 @@ class LibvirtConnTestCase(test.TestCase):
instance_ref = self.test_instance
instance_ref['image_ref'] = 'my_fake_image'
instance_ref['root_device_name'] = '/dev/vda'
+ instance_ref['uuid'] = uuidutils.generate_uuid()
instance = db.instance_create(self.context, instance_ref)
conn.spawn(self.context, instance, None, [], None,
@@ -2728,6 +2835,7 @@ class LibvirtConnTestCase(test.TestCase):
# Booted from an image
instance_ref['image_ref'] = 'my_fake_image'
+ instance_ref['uuid'] = uuidutils.generate_uuid()
instance = db.instance_create(self.context, instance_ref)
conn.spawn(self.context, instance, None, [], None)
self.assertTrue(self.cache_called_for_disk)
@@ -2975,7 +3083,7 @@ class LibvirtConnTestCase(test.TestCase):
self.mox.ReplayAll()
- self.assertFalse(conn._test_connection())
+ self.assertFalse(conn._test_connection(conn._wrapped_conn))
self.mox.UnsetStubs()
@@ -4516,6 +4624,17 @@ class LibvirtUtilsTestCase(test.TestCase):
result = libvirt_utils.get_iscsi_initiator()
self.assertEqual(initiator, result)
+ def test_get_missing_iscsi_initiator(self):
+ self.mox.StubOutWithMock(utils, 'execute')
+ file_path = '/etc/iscsi/initiatorname.iscsi'
+ utils.execute('cat', file_path, run_as_root=True).AndRaise(
+ exception.FileNotFound(file_path=file_path)
+ )
+ # Start test
+ self.mox.ReplayAll()
+ result = libvirt_utils.get_iscsi_initiator()
+ self.assertIsNone(result)
+
def test_create_image(self):
self.mox.StubOutWithMock(utils, 'execute')
utils.execute('qemu-img', 'create', '-f', 'raw',
@@ -4603,11 +4722,11 @@ disk size: 4.4M''', ''))
os.close(dst_fd)
os.unlink(dst_path)
- libvirt_utils.write_to_file(dst_path, 'hello', umask=0277)
+ libvirt_utils.write_to_file(dst_path, 'hello', umask=0o277)
with open(dst_path, 'r') as fp:
self.assertEquals(fp.read(), 'hello')
mode = os.stat(dst_path).st_mode
- self.assertEquals(mode & 0277, 0)
+ self.assertEquals(mode & 0o277, 0)
finally:
os.unlink(dst_path)
@@ -4742,7 +4861,7 @@ disk size: 4.4M''', ''))
self.stubs.Set(os, 'unlink', fake_unlink)
self.stubs.Set(images, 'fetch', lambda *_: None)
self.stubs.Set(images, 'qemu_img_info', fake_qemu_img_info)
- self.stubs.Set(utils, 'delete_if_exists', fake_rm_on_errror)
+ self.stubs.Set(fileutils, 'delete_if_exists', fake_rm_on_errror)
context = 'opaque context'
image_id = '4'
@@ -4812,15 +4931,15 @@ class LibvirtDriverTestCase(test.TestCase):
if not params:
params = {}
- sys_meta = flavors.save_instance_type_info(
- {}, flavors.get_instance_type_by_name('m1.tiny'))
+ sys_meta = flavors.save_flavor_info(
+ {}, flavors.get_flavor_by_name('m1.tiny'))
inst = {}
inst['image_ref'] = '1'
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = 'fake'
inst['project_id'] = 'fake'
- type_id = flavors.get_instance_type_by_name('m1.tiny')['id']
+ type_id = flavors.get_flavor_by_name('m1.tiny')['id']
inst['instance_type_id'] = type_id
inst['ami_launch_index'] = 0
inst['host'] = 'host1'
@@ -4838,7 +4957,8 @@ class LibvirtDriverTestCase(test.TestCase):
def test_migrate_disk_and_power_off_exception(self):
"""Test for nova.virt.libvirt.libvirt_driver.LivirtConnection
- .migrate_disk_and_power_off. """
+ .migrate_disk_and_power_off.
+ """
self.counter = 0
self.checked_shared_storage = False
@@ -4882,7 +5002,8 @@ class LibvirtDriverTestCase(test.TestCase):
def test_migrate_disk_and_power_off(self):
"""Test for nova.virt.libvirt.libvirt_driver.LivirtConnection
- .migrate_disk_and_power_off. """
+ .migrate_disk_and_power_off.
+ """
disk_info = [{'type': 'qcow2', 'path': '/test/disk',
'virt_disk_size': '10737418240',
@@ -4954,7 +5075,8 @@ class LibvirtDriverTestCase(test.TestCase):
def _test_finish_migration(self, power_on):
"""Test for nova.virt.libvirt.libvirt_driver.LivirtConnection
- .finish_migration. """
+ .finish_migration.
+ """
disk_info = [{'type': 'qcow2', 'path': '/test/disk',
'local_gb': 10, 'backing_file': '/base/disk'},
@@ -5034,7 +5156,8 @@ class LibvirtDriverTestCase(test.TestCase):
def _test_finish_revert_migration(self, power_on):
"""Test for nova.virt.libvirt.libvirt_driver.LivirtConnection
- .finish_revert_migration. """
+ .finish_revert_migration.
+ """
powered_on = power_on
self.fake_create_domain_called = False
@@ -5321,8 +5444,7 @@ class LibvirtDriverTestCase(test.TestCase):
class LibvirtVolumeUsageTestCase(test.TestCase):
- """Test for nova.virt.libvirt.libvirt_driver.LibvirtDriver
- .get_all_volume_usage"""
+ """Test for LibvirtDriver.get_all_volume_usage."""
def setUp(self):
super(LibvirtVolumeUsageTestCase, self).setUp()
diff --git a/nova/tests/virt/libvirt/test_libvirt_blockinfo.py b/nova/tests/virt/libvirt/test_libvirt_blockinfo.py
index aae5bec58..a43d0d5e0 100644
--- a/nova/tests/virt/libvirt/test_libvirt_blockinfo.py
+++ b/nova/tests/virt/libvirt/test_libvirt_blockinfo.py
@@ -34,7 +34,7 @@ class LibvirtBlockInfoTest(test.TestCase):
self.project_id = 'fake'
self.context = context.get_admin_context()
instance_type = db.instance_type_get(self.context, 2)
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ sys_meta = flavors.save_flavor_info({}, instance_type)
nova.tests.image.fake.stub_out_image_service(self.stubs)
self.test_instance = {
'uuid': '32dfcb37-5af1-552b-357c-be8c3aa38310',
diff --git a/nova/tests/virt/libvirt/test_libvirt_config.py b/nova/tests/virt/libvirt/test_libvirt_config.py
index 8eed7136e..2d9e52f3c 100644
--- a/nova/tests/virt/libvirt/test_libvirt_config.py
+++ b/nova/tests/virt/libvirt/test_libvirt_config.py
@@ -434,7 +434,7 @@ class LibvirtConfigGuestDiskTest(LibvirtConfigBaseTest):
obj = config.LibvirtConfigGuestDisk()
obj.source_type = "network"
obj.source_protocol = "iscsi"
- obj.source_host = "foo.bar.com"
+ obj.source_name = "foo.bar.com"
obj.driver_name = "qemu"
obj.driver_format = "qcow2"
obj.target_dev = "/dev/hda"
@@ -448,11 +448,56 @@ class LibvirtConfigGuestDiskTest(LibvirtConfigBaseTest):
<target bus="ide" dev="/dev/hda"/>
</disk>""")
+ def test_config_network_no_name(self):
+ obj = config.LibvirtConfigGuestDisk()
+ obj.source_type = 'network'
+ obj.source_protocol = 'nbd'
+ obj.source_hosts = ['foo.bar.com']
+ obj.source_ports = [None]
+ obj.driver_name = 'qemu'
+ obj.driver_format = 'raw'
+ obj.target_dev = '/dev/vda'
+ obj.target_bus = 'virtio'
+
+ xml = obj.to_xml()
+ self.assertXmlEqual(xml, """
+ <disk type="network" device="disk">
+ <driver name="qemu" type="raw"/>
+ <source protocol="nbd">
+ <host name="foo.bar.com"/>
+ </source>
+ <target bus="virtio" dev="/dev/vda"/>
+ </disk>""")
+
+ def test_config_network_multihost(self):
+ obj = config.LibvirtConfigGuestDisk()
+ obj.source_type = 'network'
+ obj.source_protocol = 'rbd'
+ obj.source_name = 'pool/image'
+ obj.source_hosts = ['foo.bar.com', '::1', '1.2.3.4']
+ obj.source_ports = [None, '123', '456']
+ obj.driver_name = 'qemu'
+ obj.driver_format = 'raw'
+ obj.target_dev = '/dev/vda'
+ obj.target_bus = 'virtio'
+
+ xml = obj.to_xml()
+ self.assertXmlEqual(xml, """
+ <disk type="network" device="disk">
+ <driver name="qemu" type="raw"/>
+ <source name="pool/image" protocol="rbd">
+ <host name="foo.bar.com"/>
+ <host name="::1" port="123"/>
+ <host name="1.2.3.4" port="456"/>
+ </source>
+ <target bus="virtio" dev="/dev/vda"/>
+ </disk>""")
+
def test_config_network_auth(self):
obj = config.LibvirtConfigGuestDisk()
obj.source_type = "network"
obj.source_protocol = "rbd"
- obj.source_host = "pool/image"
+ obj.source_name = "pool/image"
obj.driver_name = "qemu"
obj.driver_format = "raw"
obj.target_dev = "/dev/vda"
diff --git a/nova/tests/virt/libvirt/test_libvirt_volume.py b/nova/tests/virt/libvirt/test_libvirt_volume.py
index c96bc8dda..a6dd9e7fe 100644
--- a/nova/tests/virt/libvirt/test_libvirt_volume.py
+++ b/nova/tests/virt/libvirt/test_libvirt_volume.py
@@ -218,6 +218,32 @@ class LibvirtVolumeTestCase(test.TestCase):
self.assertEqual(tree.find('./source/auth'), None)
libvirt_driver.disconnect_volume(connection_info, "vde")
+ def test_libvirt_rbd_driver_hosts(self):
+ libvirt_driver = volume.LibvirtNetVolumeDriver(self.fake_conn)
+ name = 'volume-00000001'
+ vol = {'id': 1, 'name': name}
+ connection_info = self.rbd_connection(vol)
+ disk_info = {
+ "bus": "virtio",
+ "dev": "vde",
+ "type": "disk",
+ }
+ hosts = ['example.com', '1.2.3.4', '::1']
+ ports = [None, '6790', '6791']
+ connection_info['data']['hosts'] = hosts
+ connection_info['data']['ports'] = ports
+ conf = libvirt_driver.connect_volume(connection_info, disk_info)
+ tree = conf.format_dom()
+ self.assertEqual(tree.get('type'), 'network')
+ self.assertEqual(tree.find('./source').get('protocol'), 'rbd')
+ rbd_name = '%s/%s' % ('rbd', name)
+ self.assertEqual(tree.find('./source').get('name'), rbd_name)
+ self.assertEqual(tree.find('./source/auth'), None)
+ found_hosts = tree.findall('./source/host')
+ self.assertEqual([host.get('name') for host in found_hosts], hosts)
+ self.assertEqual([host.get('port') for host in found_hosts], ports)
+ libvirt_driver.disconnect_volume(connection_info, "vde")
+
def test_libvirt_rbd_driver_auth_enabled(self):
libvirt_driver = volume.LibvirtNetVolumeDriver(self.fake_conn)
name = 'volume-00000001'
@@ -593,6 +619,7 @@ class LibvirtVolumeTestCase(test.TestCase):
libvirt_driver = volume.LibvirtFibreChannelVolumeDriver(self.fake_conn)
multipath_devname = '/dev/md-1'
devices = {"device": multipath_devname,
+ "id": "1234567890",
"devices": [{'device': '/dev/sdb',
'address': '1:0:0:1',
'host': 1, 'channel': 0,
diff --git a/nova/tests/virt/powervm/test_powervm.py b/nova/tests/virt/powervm/test_powervm.py
index 3781c6738..6628c23ea 100644
--- a/nova/tests/virt/powervm/test_powervm.py
+++ b/nova/tests/virt/powervm/test_powervm.py
@@ -180,7 +180,7 @@ def create_instance(testcase):
fake.stub_out_image_service(testcase.stubs)
ctxt = context.get_admin_context()
instance_type = db.instance_type_get(ctxt, 1)
- sys_meta = flavors.save_instance_type_info({}, instance_type)
+ sys_meta = flavors.save_flavor_info({}, instance_type)
return db.instance_create(ctxt,
{'user_id': 'fake',
'project_id': 'fake',
@@ -269,9 +269,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 +286,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,
diff --git a/nova/tests/virt/test_virt_disk.py b/nova/tests/virt/test_virt_disk.py
index 0c51e8267..20fad1cd4 100644
--- a/nova/tests/virt/test_virt_disk.py
+++ b/nova/tests/virt/test_virt_disk.py
@@ -59,7 +59,7 @@ class VirtDiskTest(test.TestCase):
self.assertTrue("/root/.ssh" in vfs.handle.files)
self.assertEquals(vfs.handle.files["/root/.ssh"],
- {'isdir': True, 'gid': 0, 'uid': 0, 'mode': 0700})
+ {'isdir': True, 'gid': 0, 'uid': 0, 'mode': 0o700})
self.assertTrue("/root/.ssh/authorized_keys" in vfs.handle.files)
self.assertEquals(vfs.handle.files["/root/.ssh/authorized_keys"],
{'isdir': False,
@@ -67,7 +67,7 @@ class VirtDiskTest(test.TestCase):
"key was injected by Nova\nmysshkey\n",
'gid': 100,
'uid': 100,
- 'mode': 0600})
+ 'mode': 0o600})
vfs.teardown()
@@ -89,11 +89,11 @@ class VirtDiskTest(test.TestCase):
"-RF root/.ssh 2>/dev/null || :\n",
'gid': 100,
'uid': 100,
- 'mode': 0700})
+ 'mode': 0o700})
self.assertTrue("/root/.ssh" in vfs.handle.files)
self.assertEquals(vfs.handle.files["/root/.ssh"],
- {'isdir': True, 'gid': 0, 'uid': 0, 'mode': 0700})
+ {'isdir': True, 'gid': 0, 'uid': 0, 'mode': 0o700})
self.assertTrue("/root/.ssh/authorized_keys" in vfs.handle.files)
self.assertEquals(vfs.handle.files["/root/.ssh/authorized_keys"],
{'isdir': False,
@@ -101,7 +101,7 @@ class VirtDiskTest(test.TestCase):
"key was injected by Nova\nmysshkey\n",
'gid': 100,
'uid': 100,
- 'mode': 0600})
+ 'mode': 0o600})
vfs.teardown()
@@ -124,7 +124,7 @@ class VirtDiskTest(test.TestCase):
"root/.ssh 2>/dev/null || :\n",
'gid': 100,
'uid': 100,
- 'mode': 0700})
+ 'mode': 0o700})
vfs.teardown()
def test_inject_net(self):
@@ -139,7 +139,7 @@ class VirtDiskTest(test.TestCase):
{'content': 'mynetconfig',
'gid': 100,
'isdir': False,
- 'mode': 0700,
+ 'mode': 0o700,
'uid': 100})
vfs.teardown()
@@ -158,7 +158,7 @@ class VirtDiskTest(test.TestCase):
'"eek": "wizz"}',
'gid': 100,
'isdir': False,
- 'mode': 0700,
+ 'mode': 0o700,
'uid': 100})
vfs.teardown()
@@ -190,7 +190,7 @@ class VirtDiskTest(test.TestCase):
"/sbin/nologin\n",
'gid': 100,
'isdir': False,
- 'mode': 0700,
+ 'mode': 0o700,
'uid': 100})
shadow = vfs.handle.files["/etc/shadow"]
@@ -204,7 +204,7 @@ class VirtDiskTest(test.TestCase):
"daemon:*:14495:0:99999:7:::\n",
'gid': 100,
'isdir': False,
- 'mode': 0700,
+ 'mode': 0o700,
'uid': 100})
else:
self.assertEquals(shadow,
@@ -214,6 +214,6 @@ class VirtDiskTest(test.TestCase):
"daemon:*:14495:0:99999:7:::\n",
'gid': 100,
'isdir': False,
- 'mode': 0700,
+ 'mode': 0o700,
'uid': 100})
vfs.teardown()
diff --git a/nova/tests/virt/test_virt_disk_vfs_guestfs.py b/nova/tests/virt/test_virt_disk_vfs_guestfs.py
index 16c85f815..778530741 100644
--- a/nova/tests/virt/test_virt_disk_vfs_guestfs.py
+++ b/nova/tests/virt/test_virt_disk_vfs_guestfs.py
@@ -173,10 +173,10 @@ class VirtDiskVFSGuestFSTest(test.TestCase):
vfs.setup()
vfs.read_file("/some/file")
- self.assertEquals(vfs.handle.files["/some/file"]["mode"], 0700)
+ self.assertEquals(vfs.handle.files["/some/file"]["mode"], 0o700)
- vfs.set_permissions("/some/file", 0777)
- self.assertEquals(vfs.handle.files["/some/file"]["mode"], 0777)
+ vfs.set_permissions("/some/file", 0o7777)
+ self.assertEquals(vfs.handle.files["/some/file"]["mode"], 0o7777)
vfs.teardown()
diff --git a/nova/tests/virt/test_virt_disk_vfs_localfs.py b/nova/tests/virt/test_virt_disk_vfs_localfs.py
index b52817b18..18df393ce 100644
--- a/nova/tests/virt/test_virt_disk_vfs_localfs.py
+++ b/nova/tests/virt/test_virt_disk_vfs_localfs.py
@@ -98,7 +98,7 @@ def fake_execute(*args, **kwargs):
"content": "Hello World",
"gid": 100,
"uid": 100,
- "mode": 0700
+ "mode": 0o700
}
return files[path]["content"], ""
elif args[0] == "tee":
@@ -113,7 +113,7 @@ def fake_execute(*args, **kwargs):
"content": "Hello World",
"gid": 100,
"uid": 100,
- "mode": 0700,
+ "mode": 0o700,
}
if append:
files[path]["content"] += kwargs["process_input"]
@@ -306,8 +306,8 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
vfs.imgdir = "/scratch/dir"
vfs.read_file("/some/file")
- vfs.set_permissions("/some/file", 0777)
- self.assertEquals(files["/scratch/dir/some/file"]["mode"], 0777)
+ vfs.set_permissions("/some/file", 0o777)
+ self.assertEquals(files["/scratch/dir/some/file"]["mode"], 0o777)
root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
diff --git a/nova/tests/virt/test_virt_drivers.py b/nova/tests/virt/test_virt_drivers.py
index c054b9624..47f983258 100644
--- a/nova/tests/virt/test_virt_drivers.py
+++ b/nova/tests/virt/test_virt_drivers.py
@@ -39,7 +39,8 @@ def catch_notimplementederror(f):
If a particular call makes a driver raise NotImplementedError, we
log it so that we can extract this information afterwards to
- automatically generate a hypervisor/feature support matrix."""
+ automatically generate a hypervisor/feature support matrix.
+ """
def wrapped_func(self, *args, **kwargs):
try:
return f(self, *args, **kwargs)
@@ -147,7 +148,8 @@ class _FakeDriverBackendTestCase(object):
class VirtDriverLoaderTestCase(_FakeDriverBackendTestCase, test.TestCase):
"""Test that ComputeManager can successfully load both
old style and new style drivers and end up with the correct
- final class"""
+ final class.
+ """
# if your driver supports being tested in a fake way, it can go here
#
@@ -209,6 +211,10 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
self.connection.list_instances()
@catch_notimplementederror
+ def test_list_instance_uuids(self):
+ self.connection.list_instance_uuids()
+
+ @catch_notimplementederror
def test_spawn(self):
instance_ref, network_info = self._get_running_instance()
domains = self.connection.list_instances()
diff --git a/nova/tests/virt/vmwareapi/db_fakes.py b/nova/tests/virt/vmwareapi/db_fakes.py
index 8f2df43e3..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
#
@@ -19,8 +20,6 @@
Stubouts, mocks and fixtures for the test suite
"""
-import uuid
-
from nova.compute import task_states
from nova.compute import vm_states
from nova import db
@@ -62,7 +61,7 @@ def stub_out_db_instance_api(stubs):
base_options = {
'name': values['name'],
'id': values['id'],
- 'uuid': uuid.uuid4(),
+ 'uuid': values['uuid'],
'reservation_id': utils.generate_uid('r'),
'image_ref': values['image_ref'],
'kernel_id': values['kernel_id'],
@@ -76,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 2691857fe..5ba2f98af 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)
@@ -135,6 +137,7 @@ class VMwareAPIVMTestCase(test.TestCase):
def _create_instance_in_the_db(self):
values = {'name': 1,
'id': 1,
+ 'uuid': "fake-uuid",
'project_id': self.project_id,
'user_id': self.user_id,
'image_ref': "1",
@@ -142,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)
@@ -164,7 +168,8 @@ class VMwareAPIVMTestCase(test.TestCase):
self.assertEquals(len(instances), 1)
# Get Nova record for VM
- vm_info = self.conn.get_info({'name': 1})
+ vm_info = self.conn.get_info({'uuid': 'fake-uuid',
+ 'name': 1})
# Get record for VM
vms = vmwareapi_fake._get_objects("VirtualMachine")
@@ -179,12 +184,26 @@ class VMwareAPIVMTestCase(test.TestCase):
self.assertEquals(vm.get("summary.config.memorySizeMB"),
self.type_data['memory_mb'])
+ self.assertEqual(
+ vm.get("config.hardware.device")[2].device.obj_name,
+ "ns0:VirtualE1000")
# Check that the VM is running according to Nova
self.assertEquals(vm_info['state'], power_state.RUNNING)
# Check that the VM is running according to vSphere API.
self.assertEquals(vm.get("runtime.powerState"), 'poweredOn')
+ found_vm_uuid = False
+ found_iface_id = False
+ for c in vm.get("config.extraConfig"):
+ if (c.key == "nvp.vm-uuid" and c.value == self.instance['uuid']):
+ found_vm_uuid = True
+ if (c.key == "nvp.iface-id.0" and c.value == "vif-xxx-yyy-zzz"):
+ found_iface_id = True
+
+ self.assertTrue(found_vm_uuid)
+ self.assertTrue(found_iface_id)
+
def _check_vm_info(self, info, pwr_state=power_state.RUNNING):
"""
Check if the get_info returned values correspond to the instance
@@ -205,15 +224,9 @@ class VMwareAPIVMTestCase(test.TestCase):
instances = self.conn.list_instances()
self.assertEquals(len(instances), 1)
- def test_list_interfaces(self):
- self._create_vm()
- interfaces = self.conn.list_interfaces(1)
- self.assertEquals(len(interfaces), 1)
- self.assertEquals(interfaces[0], 4000)
-
def test_spawn(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_snapshot(self):
@@ -227,11 +240,11 @@ class VMwareAPIVMTestCase(test.TestCase):
'expected_state': task_states.IMAGE_PENDING_UPLOAD}}]
func_call_matcher = matchers.FunctionCallMatcher(expected_calls)
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.conn.snapshot(self.context, self.instance, "Test-Snapshot",
func_call_matcher.call)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.assertIsNone(func_call_matcher.match())
@@ -243,12 +256,23 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_reboot(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'name': 1, 'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
reboot_type = "SOFT"
self.conn.reboot(self.context, self.instance, self.network_info,
reboot_type)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'name': 1, 'uuid': 'fake-uuid'})
+ self._check_vm_info(info, power_state.RUNNING)
+
+ def test_reboot_with_uuid(self):
+ """Test fall back to use name when can't find by uuid."""
+ self._create_vm()
+ info = self.conn.get_info({'name': 'fake-uuid', 'uuid': 'wrong-uuid'})
+ self._check_vm_info(info, power_state.RUNNING)
+ reboot_type = "SOFT"
+ self.conn.reboot(self.context, self.instance, self.network_info,
+ reboot_type)
+ info = self.conn.get_info({'name': 'fake-uuid', 'uuid': 'wrong-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_reboot_non_existent(self):
@@ -259,10 +283,10 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_reboot_not_poweredon(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SUSPENDED)
self.assertRaises(exception.InstanceRebootFailure, self.conn.reboot,
self.context, self.instance, self.network_info,
@@ -270,10 +294,10 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_suspend(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': "fake-uuid"})
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SUSPENDED)
def test_suspend_non_existent(self):
@@ -283,13 +307,13 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_resume(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SUSPENDED)
self.conn.resume(self.instance, self.network_info)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_resume_non_existent(self):
@@ -299,20 +323,20 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_resume_not_suspended(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.assertRaises(exception.InstanceResumeFailure, self.conn.resume,
self.instance, self.network_info)
def test_power_on(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.conn.power_off(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SHUTDOWN)
self.conn.power_on(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_power_on_non_existent(self):
@@ -322,10 +346,10 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_power_off(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
self.conn.power_off(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SHUTDOWN)
def test_power_off_non_existent(self):
@@ -336,19 +360,19 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_power_off_suspended(self):
self._create_vm()
self.conn.suspend(self.instance)
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SUSPENDED)
self.assertRaises(exception.InstancePowerOffFailure,
self.conn.power_off, self.instance)
def test_get_info(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_destroy(self):
self._create_vm()
- info = self.conn.get_info({'name': 1})
+ info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
instances = self.conn.list_instances()
self.assertEquals(len(instances), 1)
@@ -479,6 +503,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'], "test_url")
+ 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."""
@@ -526,3 +585,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 eda2c25f9..123a314c1 100644
--- a/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py
+++ b/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py
@@ -1,5 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
+
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
# Copyright 2013 Canonical Corp.
# All Rights Reserved.
#
@@ -41,8 +42,8 @@ class VMwareVMUtilTestCase(test.TestCase):
fake_session([fake.Datastore()]))
self.assertEquals(result[1], "fake-ds")
- self.assertEquals(result[2], 1024 * 1024 * 1024)
- self.assertEquals(result[3], 1024 * 1024 * 500)
+ self.assertEquals(result[2], 1024 * 1024 * 1024 * 1024)
+ self.assertEquals(result[3], 1024 * 1024 * 500 * 1024)
def test_get_datastore_ref_and_name_without_datastore(self):
diff --git a/nova/tests/virt/xenapi/stubs.py b/nova/tests/virt/xenapi/stubs.py
index fa214b23e..d83a45fe8 100644
--- a/nova/tests/virt/xenapi/stubs.py
+++ b/nova/tests/virt/xenapi/stubs.py
@@ -99,7 +99,9 @@ def stubout_determine_is_pv_objectstore(stubs):
def stubout_is_snapshot(stubs):
"""Always returns true
- xenapi fake driver does not create vmrefs for snapshots """
+
+ xenapi fake driver does not create vmrefs for snapshots.
+ """
def f(*args):
return True
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 f2a75d899..68caab651 100644
--- a/nova/tests/virt/xenapi/test_vm_utils.py
+++ b/nova/tests/virt/xenapi/test_vm_utils.py
@@ -427,8 +427,8 @@ class CheckVDISizeTestCase(test.TestCase):
self.vdi_uuid = 'fakeuuid'
def test_not_too_large(self):
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
- flavors.extract_instance_type(self.instance).AndReturn(
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ flavors.extract_flavor(self.instance).AndReturn(
dict(root_gb=1))
self.mox.StubOutWithMock(vm_utils, '_get_vdi_chain_size')
@@ -441,8 +441,8 @@ class CheckVDISizeTestCase(test.TestCase):
self.vdi_uuid)
def test_too_large(self):
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
- flavors.extract_instance_type(self.instance).AndReturn(
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ flavors.extract_flavor(self.instance).AndReturn(
dict(root_gb=1))
self.mox.StubOutWithMock(vm_utils, '_get_vdi_chain_size')
@@ -456,8 +456,8 @@ class CheckVDISizeTestCase(test.TestCase):
self.instance, self.vdi_uuid)
def test_zero_root_gb_disables_check(self):
- self.mox.StubOutWithMock(flavors, 'extract_instance_type')
- flavors.extract_instance_type(self.instance).AndReturn(
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ flavors.extract_flavor(self.instance).AndReturn(
dict(root_gb=0))
self.mox.ReplayAll()
diff --git a/nova/tests/virt/xenapi/test_vmops.py b/nova/tests/virt/xenapi/test_vmops.py
index 18a444f41..674d84882 100644
--- a/nova/tests/virt/xenapi/test_vmops.py
+++ b/nova/tests/virt/xenapi/test_vmops.py
@@ -18,8 +18,12 @@
from nova.compute import task_states
from nova.compute import vm_mode
+from nova import exception
from nova import test
+from nova.tests.virt.xenapi import stubs
from nova.virt import fake
+from nova.virt.xenapi import driver as xenapi_conn
+from nova.virt.xenapi import fake as xenapi_fake
from nova.virt.xenapi import vm_utils
from nova.virt.xenapi import vmops
@@ -166,3 +170,74 @@ class VMOpsTestCase(test.TestCase):
self.assertTrue(self._vmops._is_xsm_sr_check_relaxed())
self.assertEqual(self.make_plugin_call_count, 1)
+
+
+class GetConsoleOutputTestCase(stubs.XenAPITestBase):
+ def setUp(self):
+ super(GetConsoleOutputTestCase, self).setUp()
+ stubs.stubout_session(self.stubs, xenapi_fake.SessionBase)
+ self._session = xenapi_conn.XenAPISession('test_url', 'root',
+ 'test_pass', fake.FakeVirtAPI())
+ self.vmops = vmops.VMOps(self._session, fake.FakeVirtAPI())
+ self.vms = []
+
+ def tearDown(self):
+ super(GetConsoleOutputTestCase, self).tearDown()
+ for vm in self.vms:
+ xenapi_fake.destroy_vm(vm)
+
+ def _create_vm(self, name, state):
+ vm = xenapi_fake.create_vm(name, state)
+ self.vms.append(vm)
+ return vm
+
+ def test_get_console_output_works(self):
+ self.mox.StubOutWithMock(self.vmops, '_get_dom_id')
+
+ instance = {"name": "dummy"}
+ self.vmops._get_dom_id(instance, check_rescue=True).AndReturn(42)
+ self.mox.ReplayAll()
+
+ self.assertEqual("dom_id: 42", self.vmops.get_console_output(instance))
+
+ def test_get_console_output_throws_nova_exception(self):
+ self.mox.StubOutWithMock(self.vmops, '_get_dom_id')
+
+ instance = {"name": "dummy"}
+ # dom_id=0 used to trigger exception in fake XenAPI
+ self.vmops._get_dom_id(instance, check_rescue=True).AndReturn(0)
+ self.mox.ReplayAll()
+
+ self.assertRaises(exception.NovaException,
+ self.vmops.get_console_output, instance)
+
+ def test_get_dom_id_works(self):
+ instance = {"name": "dummy"}
+ vm_ref = self._create_vm("dummy", "Running")
+ vm_rec = xenapi_fake.get_record("VM", vm_ref)
+
+ self.assertEqual(vm_rec["domid"], self.vmops._get_dom_id(instance))
+
+ def test_get_dom_id_works_with_rescue_vm(self):
+ instance = {"name": "dummy"}
+ vm_ref = self._create_vm("dummy-rescue", "Running")
+ vm_rec = xenapi_fake.get_record("VM", vm_ref)
+
+ self.assertEqual(vm_rec["domid"],
+ self.vmops._get_dom_id(instance, check_rescue=True))
+
+ def test_get_dom_id_raises_not_found(self):
+ instance = {"name": "dummy"}
+ vm_ref = self._create_vm("notdummy", "Running")
+ vm_rec = xenapi_fake.get_record("VM", vm_ref)
+
+ self.assertRaises(exception.NotFound,
+ self.vmops._get_dom_id, instance)
+
+ def test_get_dom_id_works_with_vmref(self):
+ instance = {"name": "dummy"}
+ vm_ref = self._create_vm("dummy", "Running")
+ vm_rec = xenapi_fake.get_record("VM", vm_ref)
+
+ self.assertEqual(vm_rec["domid"],
+ self.vmops._get_dom_id(vm_ref=vm_ref))
diff --git a/nova/tests/virt/xenapi/test_xenapi.py b/nova/tests/virt/xenapi/test_xenapi.py
index bc166655d..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
@@ -38,6 +39,7 @@ from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova import test
from nova.tests.db import fakes as db_fakes
+from nova.tests import fake_instance
from nova.tests import fake_network
from nova.tests import fake_processutils
import nova.tests.image.fake as fake_image
@@ -179,7 +181,7 @@ def stub_vm_utils_with_vdi_attached_here(function, should_return=True):
def create_instance_with_system_metadata(context, instance_values):
instance_type = db.instance_type_get(context,
instance_values['instance_type_id'])
- sys_meta = flavors.save_instance_type_info({},
+ sys_meta = flavors.save_flavor_info({},
instance_type)
instance_values['system_metadata'] = sys_meta
return db.instance_create(context, instance_values)
@@ -982,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')
@@ -1019,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',
@@ -1121,6 +1211,17 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
conn.reboot(self.context, instance, None, "SOFT")
+ def test_get_console_output_succeeds(self):
+
+ def fake_get_console_output(instance):
+ self.assertEqual("instance", instance)
+ return "console_log"
+ self.stubs.Set(self.conn._vmops, 'get_console_output',
+ fake_get_console_output)
+
+ self.assertEqual(self.conn.get_console_output("instance"),
+ "console_log")
+
def _test_maintenance_mode(self, find_host, find_aggregate):
real_call_xenapi = self.conn._session.call_xenapi
instance = self._create_instance(spawn=True)
@@ -1173,6 +1274,19 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
self.assertRaises(exception.NotFound,
self._test_maintenance_mode, True, False)
+ def test_uuid_find(self):
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
+ fake_inst = fake_instance.fake_db_instance(id=123)
+ fake_inst2 = fake_instance.fake_db_instance(id=456)
+ db.instance_get_all_by_host(self.context, fake_inst['host'],
+ columns_to_join=None
+ ).AndReturn([fake_inst, fake_inst2])
+ self.mox.ReplayAll()
+ expected_name = CONF.instance_name_template % fake_inst['id']
+ inst_uuid = host._uuid_find(self.context, fake_inst['host'],
+ expected_name)
+ self.assertEqual(inst_uuid, fake_inst['uuid'])
+
def test_session_virtapi(self):
was = {'called': False}
@@ -1192,7 +1306,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
def test_per_instance_usage_running(self):
instance = self._create_instance(spawn=True)
- instance_type = flavors.get_instance_type(3)
+ instance_type = flavors.get_flavor(3)
expected = {instance['uuid']: {'memory_mb': instance_type['memory_mb'],
'uuid': instance['uuid']}}
@@ -1297,6 +1411,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests)
db_fakes.stub_out_db_instance_api(self.stubs)
xenapi_fake.create_network('fake', CONF.flat_network_bridge)
+ xenapi_fake.create_local_srs()
self.user_id = 'fake'
self.project_id = 'fake'
self.context = context.RequestContext(self.user_id, self.project_id)
@@ -1479,7 +1594,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
self._test_finish_migrate(False)
def test_finish_migrate_no_local_storage(self):
- tiny_type = flavors.get_instance_type_by_name('m1.tiny')
+ tiny_type = flavors.get_flavor_by_name('m1.tiny')
tiny_type_id = tiny_type['id']
self.instance_values.update({'instance_type_id': tiny_type_id,
'root_gb': 0})
@@ -1517,16 +1632,40 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
dict(base_copy='hurr', cow='durr'),
network_info, image_meta, resize_instance=False)
- def test_migrate_no_auto_disk_config_no_resize_down(self):
- # Resize down should fail when auto_disk_config not set.
+ @stub_vm_utils_with_vdi_attached_here
+ def test_migrate_too_many_partitions_no_resize_down(self):
instance_values = self.instance_values
instance_values['root_gb'] = 40
- instance_values['auto_disk_config'] = False
instance = db.instance_create(self.context, instance_values)
xenapi_fake.create_vm(instance['name'], 'Running')
instance_type = db.instance_type_get_by_name(self.context, 'm1.small')
conn = xenapi_conn.XenAPIDriver(fake.FakeVirtAPI(), False)
- self.assertRaises(exception.ResizeError,
+
+ def fake_get_partitions(partition):
+ return [(1, 2, 3, 4), (1, 2, 3, 4)]
+
+ self.stubs.Set(vm_utils, '_get_partitions', fake_get_partitions)
+
+ self.assertRaises(exception.InstanceFaultRollback,
+ conn.migrate_disk_and_power_off,
+ self.context, instance,
+ '127.0.0.1', instance_type, None)
+
+ @stub_vm_utils_with_vdi_attached_here
+ def test_migrate_bad_fs_type_no_resize_down(self):
+ instance_values = self.instance_values
+ instance_values['root_gb'] = 40
+ instance = db.instance_create(self.context, instance_values)
+ xenapi_fake.create_vm(instance['name'], 'Running')
+ instance_type = db.instance_type_get_by_name(self.context, 'm1.small')
+ conn = xenapi_conn.XenAPIDriver(fake.FakeVirtAPI(), False)
+
+ def fake_get_partitions(partition):
+ return [(1, 2, 3, "ext2")]
+
+ self.stubs.Set(vm_utils, '_get_partitions', fake_get_partitions)
+
+ self.assertRaises(exception.InstanceFaultRollback,
conn.migrate_disk_and_power_off,
self.context, instance,
'127.0.0.1', instance_type, None)
@@ -1755,7 +1894,8 @@ class CompareVersionTestCase(test.TestCase):
class XenAPIHostTestCase(stubs.XenAPITestBase):
"""Tests HostState, which holds metrics from XenServer that get
- reported back to the Schedulers."""
+ reported back to the Schedulers.
+ """
def setUp(self):
super(XenAPIHostTestCase, self).setUp()
@@ -2717,7 +2857,8 @@ class XenAPIAggregateTestCase(stubs.XenAPITestBase):
def test_add_host_to_aggregate_invalid_changing_status(self):
"""Ensure InvalidAggregateAction is raised when adding host while
- aggregate is not ready."""
+ aggregate is not ready.
+ """
aggregate = self._aggregate_setup(aggr_state=pool_states.CHANGING)
self.assertRaises(exception.InvalidAggregateAction,
self.conn.add_to_aggregate, self.context,
@@ -2725,7 +2866,8 @@ class XenAPIAggregateTestCase(stubs.XenAPITestBase):
def test_add_host_to_aggregate_invalid_dismissed_status(self):
"""Ensure InvalidAggregateAction is raised when aggregate is
- deleted."""
+ deleted.
+ """
aggregate = self._aggregate_setup(aggr_state=pool_states.DISMISSED)
self.assertRaises(exception.InvalidAggregateAction,
self.conn.add_to_aggregate, self.context,
@@ -2733,7 +2875,8 @@ class XenAPIAggregateTestCase(stubs.XenAPITestBase):
def test_add_host_to_aggregate_invalid_error_status(self):
"""Ensure InvalidAggregateAction is raised when aggregate is
- in error."""
+ in error.
+ """
aggregate = self._aggregate_setup(aggr_state=pool_states.ERROR)
self.assertRaises(exception.InvalidAggregateAction,
self.conn.add_to_aggregate, self.context,
@@ -2763,7 +2906,8 @@ class XenAPIAggregateTestCase(stubs.XenAPITestBase):
def test_remove_host_from_aggregate_invalid_dismissed_status(self):
"""Ensure InvalidAggregateAction is raised when aggregate is
- deleted."""
+ deleted.
+ """
aggregate = self._aggregate_setup(aggr_state=pool_states.DISMISSED)
self.assertRaises(exception.InvalidAggregateAction,
self.conn.remove_from_aggregate, self.context,
@@ -2771,7 +2915,8 @@ class XenAPIAggregateTestCase(stubs.XenAPITestBase):
def test_remove_host_from_aggregate_invalid_changing_status(self):
"""Ensure InvalidAggregateAction is raised when aggregate is
- changing."""
+ changing.
+ """
aggregate = self._aggregate_setup(aggr_state=pool_states.CHANGING)
self.assertRaises(exception.InvalidAggregateAction,
self.conn.remove_from_aggregate, self.context,
@@ -3299,7 +3444,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
self.xenstore = dict(persist={}, ephem={})
def fake_get_vm_opaque_ref(inst, instance):
- self.assertEqual(instance, 'instance')
+ self.assertEqual(instance, {'uuid': 'fake'})
return 'vm_ref'
def fake_add_to_param_xenstore(inst, vm_ref, key, val):
@@ -3312,12 +3457,12 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
del self.xenstore['persist'][key]
def fake_write_to_xenstore(inst, instance, path, value, vm_ref=None):
- self.assertEqual(instance, 'instance')
+ self.assertEqual(instance, {'uuid': 'fake'})
self.assertEqual(vm_ref, 'vm_ref')
self.xenstore['ephem'][path] = jsonutils.dumps(value)
def fake_delete_from_xenstore(inst, instance, path, vm_ref=None):
- self.assertEqual(instance, 'instance')
+ self.assertEqual(instance, {'uuid': 'fake'})
self.assertEqual(vm_ref, 'vm_ref')
if path in self.xenstore['ephem']:
del self.xenstore['ephem'][path]
@@ -3346,7 +3491,8 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
# Check xenstore key sanitizing
system_metadata=[{'key': 'sys_a', 'value': 1},
{'key': 'sys_b', 'value': 2},
- {'key': 'sys_c', 'value': 3}])
+ {'key': 'sys_c', 'value': 3}],
+ uuid='fake')
self.conn._vmops.inject_instance_metadata(instance, 'vm_ref')
self.assertEqual(self.xenstore, {
@@ -3363,6 +3509,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
def test_change_instance_metadata_add(self):
# Test XenStore key sanitizing here, too.
diff = {'test.key': ['+', 4]}
+ instance = {'uuid': 'fake'}
self.xenstore = {
'persist': {
'vm-data/user-metadata/a': '1',
@@ -3376,7 +3523,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
},
}
- self.conn._vmops.change_instance_metadata('instance', diff)
+ self.conn._vmops.change_instance_metadata(instance, diff)
self.assertEqual(self.xenstore, {
'persist': {
@@ -3395,6 +3542,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
def test_change_instance_metadata_update(self):
diff = dict(b=['+', 4])
+ instance = {'uuid': 'fake'}
self.xenstore = {
'persist': {
'vm-data/user-metadata/a': '1',
@@ -3408,7 +3556,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
},
}
- self.conn._vmops.change_instance_metadata('instance', diff)
+ self.conn._vmops.change_instance_metadata(instance, diff)
self.assertEqual(self.xenstore, {
'persist': {
@@ -3425,6 +3573,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
def test_change_instance_metadata_delete(self):
diff = dict(b=['-'])
+ instance = {'uuid': 'fake'}
self.xenstore = {
'persist': {
'vm-data/user-metadata/a': '1',
@@ -3438,7 +3587,7 @@ class XenAPIInjectMetadataTestCase(stubs.XenAPITestBase):
},
}
- self.conn._vmops.change_instance_metadata('instance', diff)
+ self.conn._vmops.change_instance_metadata(instance, diff)
self.assertEqual(self.xenstore, {
'persist': {
diff --git a/nova/utils.py b/nova/utils.py
index 2b488a7e7..5e968bd35 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -21,7 +21,6 @@
import contextlib
import datetime
-import errno
import functools
import hashlib
import inspect
@@ -68,9 +67,6 @@ utils_opts = [
cfg.IntOpt('password_length',
default=12,
help='Length of generated instance admin passwords'),
- cfg.BoolOpt('disable_process_locking',
- default=False,
- help='Whether to disable inter-process locks'),
cfg.StrOpt('instance_usage_audit_period',
default='month',
help='time period to generate instance usages for. '
@@ -211,7 +207,8 @@ def last_completed_audit_period(unit=None, before=None):
returns: 2 tuple of datetimes (begin, end)
The begin timestamp of this audit period is the same as the
- end of the previous."""
+ end of the previous.
+ """
if not unit:
unit = CONF.instance_usage_audit_period
@@ -414,46 +411,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 delete_if_exists(pathname):
- """delete a file, but ignore file not found error."""
-
- try:
- os.unlink(pathname)
- except OSError as e:
- if e.errno == errno.ENOENT:
- return
- else:
- raise
-
-
def get_from_path(items, path):
"""Returns a list of items matching the specified path.
@@ -640,8 +597,11 @@ def get_shortened_ipv6_cidr(address):
def is_valid_cidr(address):
- """Check if the provided ipv4 or ipv6 address is a valid
- CIDR address or not"""
+ """Check if address is valid
+
+ The provided address can be a IPv6 or a IPv4
+ CIDR address.
+ """
try:
# Validate the correct CIDR Address
netaddr.IPNetwork(address)
@@ -664,8 +624,10 @@ def is_valid_cidr(address):
def get_ip_version(network):
- """Returns the IP version of a network (IPv4 or IPv6). Raises
- AddrFormatError if invalid network."""
+ """Returns the IP version of a network (IPv4 or IPv6).
+
+ Raises AddrFormatError if invalid network.
+ """
if netaddr.IPNetwork(network).version == 6:
return "IPv6"
elif netaddr.IPNetwork(network).version == 4:
@@ -736,18 +698,6 @@ def timefunc(func):
return inner
-@contextlib.contextmanager
-def remove_path_on_error(path):
- """Protect code that wants to operate on PATH atomically.
- Any exception will cause PATH to be removed.
- """
- try:
- yield
- except Exception:
- with excutils.save_and_reraise_exception():
- delete_if_exists(path)
-
-
def make_dev_path(dev, partition=None, base='/dev'):
"""Return a path to a particular device.
@@ -806,18 +756,6 @@ def read_cached_file(filename, cache_info, reload_func=None):
return cache_info['data']
-def file_open(*args, **kwargs):
- """Open file
-
- see built-in file() documentation for more details
-
- Note: The reason this is kept in a separate module is to easily
- be able to provide a stub module that doesn't alter system
- state at all (for unit tests)
- """
- return file(*args, **kwargs)
-
-
def hash_file(file_like_object):
"""Generate a hash for the contents of a file."""
checksum = hashlib.sha1()
@@ -1065,7 +1003,8 @@ def get_wrapped_function(function):
class ExceptionHelper(object):
"""Class to wrap another and translate the ClientExceptions raised by its
- function calls to the actual ones"""
+ function calls to the actual ones.
+ """
def __init__(self, target):
self._target = target
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..4e8543c3e 100755
--- a/nova/virt/baremetal/driver.py
+++ b/nova/virt/baremetal/driver.py
@@ -248,7 +248,8 @@ class BareMetalDriver(driver.ComputeDriver):
injected_files=injected_files,
network_info=network_info,
)
- self.driver.activate_bootloader(context, node, instance)
+ self.driver.activate_bootloader(context, node, instance,
+ network_info=network_info)
self.power_on(instance, node)
self.driver.activate_node(context, node, instance)
_update_state(context, node, instance, baremetal_states.ACTIVE)
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 4c63f2b07..f44a5f87a 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(),
@@ -174,7 +171,7 @@ def get_pxe_config_file_path(instance):
def get_partition_sizes(instance):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
root_mb = instance_type['root_gb'] * 1024
swap_mb = instance_type['swap']
@@ -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 d9a065bf1..bb89a5f94 100755
--- a/nova/virt/baremetal/tilera.py
+++ b/nova/virt/baremetal/tilera.py
@@ -35,22 +35,13 @@ from nova.virt.baremetal import base
from nova.virt.baremetal import db
from nova.virt.baremetal import utils as bm_utils
-tilera_opts = [
- cfg.StrOpt('net_config_template',
- default='$pybasedir/nova/virt/baremetal/'
- 'net-dhcp.ubuntu.template',
- help='Template file for injected network config'),
- ]
LOG = logging.getLogger(__name__)
-baremetal_group = cfg.OptGroup(name='baremetal',
- title='Baremetal Options')
-
CONF = cfg.CONF
-CONF.register_group(baremetal_group)
-CONF.register_opts(tilera_opts, baremetal_group)
CONF.import_opt('use_ipv6', 'nova.netconf')
+CONF.import_opt('net_config_template', 'nova.virt.baremetal.pxe',
+ group='baremetal')
CHEETAH = None
@@ -64,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(),
@@ -117,7 +84,7 @@ def get_tilera_nfs_path(node_id):
def get_partition_sizes(instance):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
root_mb = instance_type['root_gb'] * 1024
swap_mb = instance_type['swap']
@@ -271,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,
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 57e5155c8..173dd457b 100644
--- a/nova/virt/configdrive.py
+++ b/nova/virt/configdrive.py
@@ -169,7 +169,7 @@ class ConfigDriveBuilder(object):
def cleanup(self):
if self.imagefile:
- utils.delete_if_exists(self.imagefile)
+ fileutils.delete_if_exists(self.imagefile)
try:
shutil.rmtree(self.tempdir)
diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py
index 9fdec0e87..5b8782924 100755
--- a/nova/virt/disk/api.py
+++ b/nova/virt/disk/api.py
@@ -425,7 +425,7 @@ def _setup_selinux_for_keys(fs, sshdir):
restorecon.insert(0, '#!/bin/sh')
_inject_file_into_fs(fs, rclocal, ''.join(restorecon), append=True)
- fs.set_permissions(rclocal, 0700)
+ fs.set_permissions(rclocal, 0o700)
def _inject_key_into_fs(key, fs):
@@ -439,7 +439,7 @@ def _inject_key_into_fs(key, fs):
sshdir = os.path.join('root', '.ssh')
fs.make_path(sshdir)
fs.set_ownership(sshdir, "root", "root")
- fs.set_permissions(sshdir, 0700)
+ fs.set_permissions(sshdir, 0o700)
keyfile = os.path.join(sshdir, 'authorized_keys')
@@ -452,7 +452,7 @@ def _inject_key_into_fs(key, fs):
])
_inject_file_into_fs(fs, keyfile, key_data, append=True)
- fs.set_permissions(keyfile, 0600)
+ fs.set_permissions(keyfile, 0o600)
_setup_selinux_for_keys(fs, sshdir)
@@ -467,7 +467,7 @@ def _inject_net_into_fs(net, fs):
netdir = os.path.join('etc', 'network')
fs.make_path(netdir)
fs.set_ownership(netdir, "root", "root")
- fs.set_permissions(netdir, 0744)
+ fs.set_permissions(netdir, 0o744)
netfile = os.path.join('etc', 'network', 'interfaces')
_inject_file_into_fs(fs, netfile, net)
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 6f79de048..fbc2a5640 100755
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -136,7 +136,8 @@ class ComputeDriver(object):
def init_host(self, host):
"""Initialize anything that is necessary for the driver to function,
- including catching up with currently running VM's on the given host."""
+ including catching up with currently running VM's on the given host.
+ """
# TODO(Vek): Need to pass context in for access to auth_token
raise NotImplementedError()
@@ -290,12 +291,14 @@ class ComputeDriver(object):
def get_all_bw_counters(self, instances):
"""Return bandwidth usage counters for each interface on each
- running VM"""
+ running VM.
+ """
raise NotImplementedError()
def get_all_volume_usage(self, context, compute_host_bdms):
"""Return usage info for volumes attached to vms on
- a given host"""
+ a given host.-
+ """
raise NotImplementedError()
def get_host_ip_addr(self):
@@ -741,7 +744,8 @@ class ComputeDriver(object):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
raise NotImplementedError()
def set_host_enabled(self, host, enabled):
@@ -922,7 +926,8 @@ class ComputeDriver(object):
Register a callback to receive asynchronous event
notifications from hypervisors. The callback will
be invoked with a single parameter, which will be
- an instance of the nova.virt.event.Event class."""
+ an instance of the nova.virt.event.Event class.
+ """
self._compute_event_callback = callback
@@ -931,7 +936,8 @@ class ComputeDriver(object):
Invokes the event callback registered by the
compute manager to dispatch the event. This
- must only be invoked from a green thread."""
+ must only be invoked from a green thread.
+ """
if not self._compute_event_callback:
LOG.debug("Discarding event %s" % str(event))
diff --git a/nova/virt/event.py b/nova/virt/event.py
index 684986f8a..63089549c 100644
--- a/nova/virt/event.py
+++ b/nova/virt/event.py
@@ -56,7 +56,8 @@ class InstanceEvent(Event):
All events emitted by a virtualization driver which
are associated with a virtual domain instance are
subclasses of this base object. This object records
- the UUID associated with the instance."""
+ the UUID associated with the instance.
+ """
def __init__(self, uuid, timestamp=None):
super(InstanceEvent, self).__init__(timestamp)
@@ -74,7 +75,8 @@ class LifecycleEvent(InstanceEvent):
events of this class are emitted. The EVENT_LIFECYCLE_XX
constants defined why lifecycle change occurred. This
event allows detection of an instance starting/stopping
- without need for polling"""
+ without need for polling.
+ """
def __init__(self, uuid, transition, timestamp=None):
super(LifecycleEvent, self).__init__(uuid, timestamp)
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index 1b65571a5..801c8e827 100755
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -272,13 +272,15 @@ class FakeDriver(driver.ComputeDriver):
def get_all_bw_counters(self, instances):
"""Return bandwidth usage counters for each interface on each
- running VM"""
+ running VM.
+ """
bw = []
return bw
def get_all_volume_usage(self, context, compute_host_bdms):
"""Return usage info for volumes attached to vms on
- a given host"""
+ a given host.
+ """
volusage = []
return volusage
@@ -408,7 +410,8 @@ class FakeDriver(driver.ComputeDriver):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
if not mode:
return 'off_maintenance'
return 'on_maintenance'
@@ -444,12 +447,6 @@ class FakeVirtAPI(virtapi.VirtAPI):
instance_uuid,
updates)
- def instance_get_by_uuid(self, context, instance_uuid):
- return db.instance_get_by_uuid(context, instance_uuid)
-
- def instance_get_all_by_host(self, context, host):
- return db.instance_get_all_by_host(context, host)
-
def aggregate_get_by_host(self, context, host, key=None):
return db.aggregate_get_by_host(context, host, key=key)
@@ -462,7 +459,7 @@ class FakeVirtAPI(virtapi.VirtAPI):
return db.aggregate_metadata_delete(context, aggregate['id'], key)
def security_group_get_by_instance(self, context, instance):
- return db.security_group_get_by_instance(context, instance['id'])
+ return db.security_group_get_by_instance(context, instance['uuid'])
def security_group_rule_get_by_security_group(self, context,
security_group):
diff --git a/nova/virt/firewall.py b/nova/virt/firewall.py
index cf290dd10..bd2ec4a42 100644
--- a/nova/virt/firewall.py
+++ b/nova/virt/firewall.py
@@ -61,7 +61,9 @@ class FirewallDriver(object):
def prepare_instance_filter(self, instance, network_info):
"""Prepare filters for the instance.
- At this point, the instance isn't running yet."""
+
+ At this point, the instance isn't running yet.
+ """
raise NotImplementedError()
def filter_defer_apply_on(self):
@@ -90,14 +92,16 @@ class FirewallDriver(object):
"""Refresh security group rules from data store
Gets called when a rule has been added to or removed from
- the security group."""
+ the security group.
+ """
raise NotImplementedError()
def refresh_security_group_members(self, security_group_id):
"""Refresh security group members from data store
Gets called when an instance gets added to or removed from
- the security group."""
+ the security group.
+ """
raise NotImplementedError()
def refresh_instance_security_rules(self, instance):
@@ -105,7 +109,8 @@ class FirewallDriver(object):
Gets called when an instance gets added to or removed from
the security group the instance is a member of or if the
- group gains or looses a rule."""
+ group gains or looses a rule.
+ """
raise NotImplementedError()
def refresh_provider_fw_rules(self):
@@ -213,8 +218,9 @@ class IptablesFirewallDriver(FirewallDriver):
def _filters_for_instance(self, chain_name, network_info):
"""Creates a rule corresponding to each ip that defines a
- jump to the corresponding instance - chain for all the traffic
- destined to that ip."""
+ jump to the corresponding instance - chain for all the traffic
+ destined to that ip.
+ """
# make sure this is legacy nw_info
network_info = self._handle_network_info_model(network_info)
diff --git a/nova/virt/hyperv/hostops.py b/nova/virt/hyperv/hostops.py
index 4e5cfc6a4..229488123 100644
--- a/nova/virt/hyperv/hostops.py
+++ b/nova/virt/hyperv/hostops.py
@@ -154,8 +154,10 @@ class HostOps(object):
self._stats = data
def get_host_stats(self, refresh=False):
- """Return the current state of the host. If 'refresh' is
- True, run the update first."""
+ """Return the current state of the host.
+
+ If 'refresh' is True, run the update first.
+ """
LOG.debug(_("get_host_stats called"))
if refresh or not self._stats:
diff --git a/nova/virt/hyperv/imagecache.py b/nova/virt/hyperv/imagecache.py
index 85588a769..8f29a62dc 100644
--- a/nova/virt/hyperv/imagecache.py
+++ b/nova/virt/hyperv/imagecache.py
@@ -52,7 +52,7 @@ class ImageCache(object):
def _get_root_vhd_size_gb(self, instance):
try:
# In case of resizes we need the old root disk size
- old_instance_type = flavors.extract_instance_type(
+ old_instance_type = flavors.extract_flavor(
instance, prefix='old_')
return old_instance_type['root_gb']
except KeyError:
diff --git a/nova/virt/images.py b/nova/virt/images.py
index b40f566a6..e1b42eafc 100755
--- a/nova/virt/images.py
+++ b/nova/virt/images.py
@@ -28,7 +28,9 @@ from oslo.config import cfg
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__)
@@ -50,7 +52,7 @@ class QemuImgInfo(object):
SIZE_RE = re.compile(r"\(\s*(\d+)\s+bytes\s*\)", re.I)
def __init__(self, cmd_output=None):
- details = self._parse(cmd_output)
+ details = self._parse(cmd_output or '')
self.image = details.get('image')
self.backing_file = details.get('backing_file')
self.file_format = details.get('file_format')
@@ -89,13 +91,12 @@ 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
def _extract_details(self, root_cmd, root_details, lines_after):
- consumed_lines = 0
real_details = root_details
if root_cmd == 'backing_file':
# Replace it with the real backing file
@@ -112,31 +113,30 @@ class QemuImgInfo(object):
if not lines_after or not lines_after[0].startswith("ID"):
msg = _("Snapshot list encountered but no header found!")
raise ValueError(msg)
- consumed_lines += 1
- possible_contents = lines_after[1:]
+ del lines_after[0]
real_details = []
# This is the sprintf pattern we will try to match
# "%-10s%-20s%7s%20s%15s"
# ID TAG VM SIZE DATE VM CLOCK (current header)
- for line in possible_contents:
- line_pieces = line.split(None)
+ while lines_after:
+ line = lines_after[0]
+ line_pieces = line.split()
if len(line_pieces) != 6:
break
- else:
- # Check against this pattern in the final position
- # "%02d:%02d:%02d.%03d"
- date_pieces = line_pieces[5].split(":")
- if len(date_pieces) != 3:
- break
- real_details.append({
- 'id': line_pieces[0],
- 'tag': line_pieces[1],
- 'vm_size': line_pieces[2],
- 'date': line_pieces[3],
- 'vm_clock': line_pieces[4] + " " + line_pieces[5],
- })
- consumed_lines += 1
- return (real_details, consumed_lines)
+ # Check against this pattern in the final position
+ # "%02d:%02d:%02d.%03d"
+ date_pieces = line_pieces[5].split(":")
+ if len(date_pieces) != 3:
+ break
+ real_details.append({
+ 'id': line_pieces[0],
+ 'tag': line_pieces[1],
+ 'vm_size': line_pieces[2],
+ 'date': line_pieces[3],
+ 'vm_clock': line_pieces[4] + " " + line_pieces[5],
+ })
+ del lines_after[0]
+ return real_details
def _parse(self, cmd_output):
# Analysis done of qemu-img.c to figure out what is going on here
@@ -147,30 +147,18 @@ class QemuImgInfo(object):
# TODO(harlowja): newer versions might have a json output format
# we should switch to that whenever possible.
# see: http://bit.ly/XLJXDX
- if not cmd_output:
- cmd_output = ''
contents = {}
- lines = cmd_output.splitlines()
- i = 0
- line_am = len(lines)
- while i < line_am:
- line = lines[i]
- if not line.strip():
- i += 1
- continue
- consumed_lines = 0
+ lines = [x for x in cmd_output.splitlines() if x.strip()]
+ while lines:
+ line = lines.pop(0)
top_level = self.TOP_LEVEL_RE.match(line)
if top_level:
root = self._canonicalize(top_level.group(1))
if not root:
- i += 1
continue
root_details = top_level.group(2).strip()
- details, consumed_lines = self._extract_details(root,
- root_details,
- lines[i + 1:])
+ details = self._extract_details(root, root_details, lines)
contents[root] = details
- i += consumed_lines + 1
return contents
@@ -197,7 +185,7 @@ def fetch(context, image_href, path, _user_id, _project_id):
# checked before we got here.
(image_service, image_id) = glance.get_remote_image_service(context,
image_href)
- with utils.remove_path_on_error(path):
+ with fileutils.remove_path_on_error(path):
with open(path, "wb") as image_file:
image_service.download(context, image_id, image_file)
@@ -206,7 +194,7 @@ def fetch_to_raw(context, image_href, path, user_id, project_id):
path_tmp = "%s.part" % path
fetch(context, image_href, path_tmp, user_id, project_id)
- with utils.remove_path_on_error(path_tmp):
+ with fileutils.remove_path_on_error(path_tmp):
data = qemu_img_info(path_tmp)
fmt = data.file_format
@@ -223,7 +211,7 @@ def fetch_to_raw(context, image_href, path, user_id, project_id):
if fmt != "raw" and CONF.force_raw_images:
staged = "%s.converted" % path
LOG.debug("%s was %s, converting to raw" % (image_href, fmt))
- with utils.remove_path_on_error(staged):
+ with fileutils.remove_path_on_error(staged):
convert_image(path_tmp, staged, 'raw')
os.unlink(path_tmp)
diff --git a/nova/virt/libvirt/blockinfo.py b/nova/virt/libvirt/blockinfo.py
index 39b6292b1..aabcef964 100644
--- a/nova/virt/libvirt/blockinfo.py
+++ b/nova/virt/libvirt/blockinfo.py
@@ -84,7 +84,8 @@ def has_disk_dev(mapping, disk_dev):
corresponding disk_info tuple has a device name
matching disk_dev
- Returns True if the disk_dev is in use."""
+ Returns True if the disk_dev is in use.
+ """
for disk in mapping:
info = mapping[disk]
@@ -102,7 +103,8 @@ def get_dev_prefix_for_disk_bus(disk_bus):
form a disk dev 'hda'
Returns the dev prefix or raises an
- exception if the disk bus is unknown."""
+ exception if the disk bus is unknown.
+ """
if CONF.libvirt_disk_prefix:
return CONF.libvirt_disk_prefix
@@ -134,7 +136,8 @@ def get_dev_count_for_disk_bus(disk_bus):
Determine how many disks can be supported in
a single VM for a particular disk bus.
- Returns the number of disks supported."""
+ Returns the number of disks supported.
+ """
if disk_bus == "ide":
return 4
@@ -201,7 +204,8 @@ def get_disk_bus_for_device_type(virt_type,
return 'virtio', while for a CDROM it will return 'ide'
Returns the disk_bus, or returns None if the device
- type is not supported for this virtualization"""
+ type is not supported for this virtualization
+ """
# Prefer a disk bus set against the image first of all
if image_meta:
@@ -241,7 +245,8 @@ def get_disk_bus_for_disk_dev(virt_type, disk_dev):
the currently configured virtualization technology
Returns the disk bus, or raises an Exception if
- the disk dev prefix is unknown."""
+ the disk dev prefix is unknown.
+ """
if disk_dev[:2] == 'hd':
return "ide"
@@ -274,7 +279,8 @@ def get_next_disk_info(mapping, disk_bus,
determine the next available disk dev that can be assigned
for the disk bus.
- Returns the disk_info for the next available disk."""
+ Returns the disk_info for the next available disk.
+ """
disk_dev = find_disk_dev_for_disk_bus(mapping,
disk_bus,
@@ -298,9 +304,10 @@ def get_disk_mapping(virt_type, instance,
'disk.local', 'disk.swap' and 'disk.config' images have
been overriden by the block device mapping.
- Returns the guest disk mapping for the devices."""
+ Returns the guest disk mapping for the devices.
+ """
- inst_type = flavors.extract_instance_type(instance)
+ inst_type = flavors.extract_flavor(instance)
mapping = {}
@@ -425,7 +432,8 @@ def get_disk_info(virt_type, instance, block_device_info=None,
- cdrom_bus: the bus for CDROMs
- mapping: the disk mapping
- Returns the disk mapping disk."""
+ Returns the disk mapping disk.
+ """
disk_bus = get_disk_bus_for_device_type(virt_type, image_meta, "disk")
cdrom_bus = get_disk_bus_for_device_type(virt_type, image_meta, "cdrom")
diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py
index 08a0566dd..e5319c514 100644
--- a/nova/virt/libvirt/config.py
+++ b/nova/virt/libvirt/config.py
@@ -460,7 +460,9 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
self.driver_cache = None
self.source_path = None
self.source_protocol = None
- self.source_host = None
+ self.source_name = None
+ self.source_hosts = []
+ self.source_ports = []
self.target_dev = None
self.target_path = None
self.target_bus = None
@@ -499,8 +501,16 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
elif self.source_type == "mount":
dev.append(etree.Element("source", dir=self.source_path))
elif self.source_type == "network":
- dev.append(etree.Element("source", protocol=self.source_protocol,
- name=self.source_host))
+ source = etree.Element("source", protocol=self.source_protocol)
+ if self.source_name is not None:
+ source.set('name', self.source_name)
+ hosts_info = zip(self.source_hosts, self.source_ports)
+ for name, port in hosts_info:
+ host = etree.Element('host', name=name)
+ if port is not None:
+ host.set('port', port)
+ source.append(host)
+ dev.append(source)
if self.auth_secret_type is not None:
auth = etree.Element("auth")
diff --git a/nova/virt/libvirt/designer.py b/nova/virt/libvirt/designer.py
index 8dc579300..c5189c78e 100644
--- a/nova/virt/libvirt/designer.py
+++ b/nova/virt/libvirt/designer.py
@@ -24,7 +24,8 @@ classes based on common operational needs / policies
def set_vif_guest_frontend_config(conf, mac, model, driver):
"""Populate a LibvirtConfigGuestInterface instance
- with guest frontend details"""
+ with guest frontend details.
+ """
conf.mac_addr = mac
if model is not None:
conf.model = model
@@ -34,7 +35,8 @@ def set_vif_guest_frontend_config(conf, mac, model, driver):
def set_vif_host_backend_bridge_config(conf, brname, tapname=None):
"""Populate a LibvirtConfigGuestInterface instance
- with host backend details for a software bridge"""
+ with host backend details for a software bridge.
+ """
conf.net_type = "bridge"
conf.source_dev = brname
if tapname:
@@ -48,7 +50,8 @@ def set_vif_host_backend_ethernet_config(conf, tapname):
host device.
NB use of this configuration is discouraged by
- libvirt project and will mark domains as 'tainted'"""
+ libvirt project and will mark domains as 'tainted'.
+ """
conf.net_type = "ethernet"
conf.target_dev = tapname
@@ -57,7 +60,8 @@ def set_vif_host_backend_ethernet_config(conf, tapname):
def set_vif_host_backend_ovs_config(conf, brname, interfaceid, tapname=None):
"""Populate a LibvirtConfigGuestInterface instance
- with host backend details for an OpenVSwitch bridge"""
+ with host backend details for an OpenVSwitch bridge.
+ """
conf.net_type = "bridge"
conf.source_dev = brname
@@ -72,7 +76,8 @@ def set_vif_host_backend_802qbg_config(conf, devname, managerid,
typeid, typeidversion,
instanceid, tapname=None):
"""Populate a LibvirtConfigGuestInterface instance
- with host backend details for an 802.1qbg device"""
+ with host backend details for an 802.1qbg device.
+ """
conf.net_type = "direct"
conf.source_dev = devname
@@ -89,7 +94,8 @@ def set_vif_host_backend_802qbg_config(conf, devname, managerid,
def set_vif_host_backend_802qbh_config(conf, devname, profileid,
tapname=None):
"""Populate a LibvirtConfigGuestInterface instance
- with host backend details for an 802.1qbh device"""
+ with host backend details for an 802.1qbh device.
+ """
conf.net_type = "direct"
conf.source_dev = devname
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index c0cec7a43..3b70952d7 100755
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -49,6 +49,7 @@ import shutil
import socket
import sys
import tempfile
+import threading
import time
import uuid
@@ -283,13 +284,14 @@ MIN_LIBVIRT_VERSION = (0, 9, 6)
# When the above version matches/exceeds this version
# delete it & corresponding code using it
MIN_LIBVIRT_HOST_CPU_VERSION = (0, 9, 10)
+MIN_LIBVIRT_CLOSE_CALLBACK_VERSION = (1, 0, 1)
# Live snapshot requirements
REQ_HYPERVISOR_LIVESNAPSHOT = "QEMU"
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
@@ -313,6 +315,7 @@ class LibvirtDriver(driver.ComputeDriver):
self._fc_wwnns = None
self._fc_wwpns = None
self._wrapped_conn = None
+ self._wrapped_conn_lock = threading.Lock()
self._caps = None
self._vcpu_total = 0
self.read_only = read_only
@@ -348,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
@@ -420,7 +424,8 @@ class LibvirtDriver(driver.ComputeDriver):
permitted to use libvirt python APIs, and the
driver.queue_event method. In particular any use
of logging is forbidden, since it will confuse
- eventlet's greenthread integration"""
+ eventlet's greenthread integration
+ """
while True:
libvirt.virEventRunDefaultImpl()
@@ -430,7 +435,8 @@ class LibvirtDriver(driver.ComputeDriver):
This is a green thread which waits for events to
arrive from the libvirt event loop thread. This
- then dispatches the events to the compute manager."""
+ then dispatches the events to the compute manager.
+ """
while True:
self._dispatch_events()
@@ -442,7 +448,8 @@ class LibvirtDriver(driver.ComputeDriver):
NB: this method is executing in a native thread, not
an eventlet coroutine. It can only invoke other libvirt
APIs, or use self.queue_event(). Any use of logging APIs
- in particular is forbidden."""
+ in particular is forbidden.
+ """
self = opaque
@@ -465,7 +472,8 @@ class LibvirtDriver(driver.ComputeDriver):
This method is called by the native event thread to
put events on the queue for later dispatch by the
- green thread."""
+ green thread.
+ """
if self._event_queue is None:
LOG.debug("Event loop thread is not active, "
@@ -484,7 +492,8 @@ class LibvirtDriver(driver.ComputeDriver):
"""Wait for & dispatch events from native thread
Blocks until native thread indicates some events
- are ready. Then dispatches all queued events."""
+ are ready. Then dispatches all queued events.
+ """
# Wait to be notified that there are some
# events pending
@@ -507,7 +516,8 @@ class LibvirtDriver(driver.ComputeDriver):
"""Create a self-pipe for the native thread to synchronize on.
This code is taken from the eventlet tpool module, under terms
- of the Apache License v2.0."""
+ of the Apache License v2.0.
+ """
self._event_queue = native_Queue.Queue()
try:
@@ -548,33 +558,37 @@ class LibvirtDriver(driver.ComputeDriver):
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()
def _get_connection(self):
- if not self._wrapped_conn or not self._test_connection():
+ with self._wrapped_conn_lock:
+ wrapped_conn = self._wrapped_conn
+
+ if not wrapped_conn or not self._test_connection(wrapped_conn):
LOG.debug(_('Connecting to libvirt: %s'), self.uri())
if not CONF.libvirt_nonblocking:
- self._wrapped_conn = self._connect(self.uri(),
- self.read_only)
+ wrapped_conn = self._connect(self.uri(), self.read_only)
else:
- self._wrapped_conn = tpool.proxy_call(
+ wrapped_conn = tpool.proxy_call(
(libvirt.virDomain, libvirt.virConnect),
self._connect, self.uri(), self.read_only)
+ with self._wrapped_conn_lock:
+ self._wrapped_conn = wrapped_conn
try:
LOG.debug("Registering for lifecycle events %s" % str(self))
- self._wrapped_conn.domainEventRegisterAny(
+ wrapped_conn.domainEventRegisterAny(
None,
libvirt.VIR_DOMAIN_EVENT_ID_LIFECYCLE,
self._event_lifecycle_callback,
@@ -583,13 +597,30 @@ class LibvirtDriver(driver.ComputeDriver):
LOG.warn(_("URI %s does not support events"),
self.uri())
- return self._wrapped_conn
+ if self.has_min_version(MIN_LIBVIRT_CLOSE_CALLBACK_VERSION):
+ try:
+ LOG.debug("Registering for connection events: %s" %
+ str(self))
+ wrapped_conn.registerCloseCallback(
+ self._close_callback, None)
+ except libvirt.libvirtError:
+ LOG.debug(_("URI %s does not support connection events"),
+ self.uri())
+
+ return wrapped_conn
_conn = property(_get_connection)
- def _test_connection(self):
+ def _close_callback(self, conn, reason, opaque):
+ with self._wrapped_conn_lock:
+ if conn == self._wrapped_conn:
+ LOG.info(_("Connection to libvirt lost: %s") % reason)
+ self._wrapped_conn = None
+
+ @staticmethod
+ def _test_connection(conn):
try:
- self._wrapped_conn.getLibVersion()
+ conn.getLibVersion()
return True
except libvirt.libvirtError as e:
if (e.get_error_code() in (libvirt.VIR_ERR_SYSTEM_ERROR,
@@ -677,12 +708,11 @@ class LibvirtDriver(driver.ComputeDriver):
try:
# We skip domains with ID 0 (hypervisors).
if domain_id != 0:
- domain = self._conn.lookupByID(domain_id)
+ domain = self._lookup_by_id(domain_id)
names.append(domain.name())
- except libvirt.libvirtError as e:
- if e.get_error_code() != libvirt.VIR_ERR_NO_DOMAIN:
- # Ignore deleted instance while listing
- raise
+ except exception.InstanceNotFound:
+ # Ignore deleted instance while listing
+ continue
# extend instance list to contain also defined domains
names.extend([vm for vm in self._conn.listDefinedDomains()
@@ -691,8 +721,26 @@ class LibvirtDriver(driver.ComputeDriver):
return names
def list_instance_uuids(self):
- return [self._conn.lookupByName(name).UUIDString()
- for name in self.list_instances()]
+ uuids = set()
+ for domain_id in self.list_instance_ids():
+ try:
+ # We skip domains with ID 0 (hypervisors).
+ if domain_id != 0:
+ domain = self._lookup_by_id(domain_id)
+ uuids.add(domain.UUIDString())
+ except exception.InstanceNotFound:
+ # Ignore deleted instance while listing
+ continue
+
+ # extend instance list to contain also defined domains
+ for domain_name in self._conn.listDefinedDomains():
+ try:
+ uuids.add(self._lookup_by_name(domain_name).UUIDString())
+ except exception.InstanceNotFound:
+ # Ignore deleted instance while listing
+ continue
+
+ return list(uuids)
def plug_vifs(self, instance, network_info):
"""Plug VIFs into networks."""
@@ -731,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."""
@@ -806,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):
@@ -832,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:
@@ -860,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
@@ -869,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)
@@ -923,15 +973,12 @@ class LibvirtDriver(driver.ComputeDriver):
'world wide port names'),
instance=instance)
- if not self._initiator and not self._fc_wwnns and not self._fc_wwpns:
- msg = _("No Volume Connector found.")
- LOG.error(msg)
- raise exception.NovaException(msg)
-
connector = {'ip': CONF.my_ip,
- 'initiator': self._initiator,
'host': CONF.host}
+ if self._initiator:
+ connector['initiator'] = self._initiator
+
if self._fc_wwnns and self._fc_wwpns:
connector["wwnns"] = self._fc_wwnns
connector["wwpns"] = self._fc_wwpns
@@ -1561,7 +1608,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
@@ -1774,7 +1822,7 @@ class LibvirtDriver(driver.ComputeDriver):
# NOTE(vish): No need add the suffix to console.log
libvirt_utils.write_to_file(
- self._get_console_log_path(instance), '', 007)
+ self._get_console_log_path(instance), '', 7)
if not disk_images:
disk_images = {'image_id': instance['image_ref'],
@@ -1798,7 +1846,7 @@ class LibvirtDriver(driver.ComputeDriver):
user_id=instance['user_id'],
project_id=instance['project_id'])
- inst_type = flavors.extract_instance_type(instance)
+ inst_type = flavors.extract_flavor(instance)
# NOTE(ndipanov): Even if disk_mapping was passed in, which
# currently happens only on rescue - we still don't want to
@@ -1874,7 +1922,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'),
@@ -1915,10 +1963,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,
@@ -1928,7 +1982,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':
@@ -1936,7 +1991,8 @@ class LibvirtDriver(driver.ComputeDriver):
def get_host_capabilities(self):
"""Returns an instance of config.LibvirtConfigCaps representing
- the capabilities of the host"""
+ the capabilities of the host.
+ """
if not self._caps:
xmlstr = self._conn.getCapabilities()
self._caps = vconfig.LibvirtConfigCaps()
@@ -1951,7 +2007,8 @@ class LibvirtDriver(driver.ComputeDriver):
def get_host_cpu_for_guest(self):
"""Returns an instance of config.LibvirtConfigGuestCPU
representing the host's CPU model & topology with
- policy for configuring a guest to match"""
+ policy for configuring a guest to match
+ """
caps = self.get_host_capabilities()
hostcpu = caps.host.cpu
@@ -2338,12 +2395,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()
@@ -2353,9 +2412,31 @@ 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):
+ """Retrieve libvirt domain object given an instance id.
+
+ All libvirt error handling should be handled in this method and
+ relevant nova exceptions should be raised in response.
+
+ """
+ try:
+ return self._conn.lookupByID(instance_id)
+ except libvirt.libvirtError as ex:
+ error_code = ex.get_error_code()
+ if error_code == libvirt.VIR_ERR_NO_DOMAIN:
+ raise exception.InstanceNotFound(instance_id=instance_id)
+
+ msg = (_("Error from libvirt while looking up %(instance_id)s: "
+ "[Error Code %(error_code)s] %(ex)s")
+ % {'instance_id': instance_id,
+ 'error_code': error_code,
+ 'ex': ex})
+ raise exception.NovaException(msg)
+
def _lookup_by_name(self, instance_name):
"""Retrieve libvirt domain object given an instance name.
@@ -2370,8 +2451,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):
@@ -2467,8 +2551,11 @@ class LibvirtDriver(driver.ComputeDriver):
devices = []
for dom_id in self.list_instance_ids():
try:
- domain = self._conn.lookupByID(dom_id)
+ domain = self._lookup_by_id(dom_id)
doc = etree.fromstring(domain.XMLDesc(0))
+ except exception.InstanceNotFound:
+ LOG.info(_("libvirt can't find a domain with id: %s") % dom_id)
+ continue
except Exception:
continue
ret = doc.findall('./devices/disk')
@@ -2650,21 +2737,16 @@ class LibvirtDriver(driver.ComputeDriver):
dom_ids = self.list_instance_ids()
for dom_id in dom_ids:
try:
- dom = self._conn.lookupByID(dom_id)
+ dom = self._lookup_by_id(dom_id)
vcpus = dom.vcpus()
if vcpus is None:
LOG.debug(_("couldn't obtain the vpu count from domain id:"
" %s") % dom_id)
else:
total += len(vcpus[1])
- except libvirt.libvirtError as err:
- if err.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
- LOG.debug(_("List of domains returned by libVirt: %s")
- % dom_ids)
- LOG.warn(_("libVirt can't find a domain with id: %s")
- % dom_id)
- continue
- raise
+ except exception.InstanceNotFound:
+ LOG.info(_("libvirt can't find a domain with id: %s") % dom_id)
+ continue
# NOTE(gtt116): give change to do other task.
greenthread.sleep(0)
return total
@@ -2686,8 +2768,13 @@ class LibvirtDriver(driver.ComputeDriver):
if CONF.libvirt_type == 'xen':
used = 0
for domain_id in self.list_instance_ids():
+ try:
+ dom_mem = int(self._lookup_by_id(domain_id).info()[2])
+ except exception.InstanceNotFound:
+ LOG.info(_("libvirt can't find a domain with id: %s")
+ % domain_id)
+ continue
# skip dom0
- dom_mem = int(self._conn.lookupByID(domain_id).info()[2])
if domain_id != 0:
used += dom_mem
else:
@@ -2796,7 +2883,8 @@ class LibvirtDriver(driver.ComputeDriver):
def get_all_volume_usage(self, context, compute_host_bdms):
"""Return usage info for volumes attached to vms on
- a given host"""
+ a given host.
+ """
vol_usage = []
for instance_bdms in compute_host_bdms:
@@ -2840,13 +2928,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):
"""
@@ -2915,7 +3004,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):
@@ -2928,13 +3017,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):
- utils.delete_if_exists(data["filename"])
+ 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):
@@ -2943,8 +3032,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:
@@ -2960,7 +3049,7 @@ class LibvirtDriver(driver.ComputeDriver):
(disk_available_gb * 1024) - CONF.reserved_host_disk_mb
# Compare CPU
- src = instance_ref['host']
+ src = instance['host']
source_cpu_info = src_compute_info['cpu_info']
self._compare_cpu(source_cpu_info)
@@ -2972,16 +3061,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
@@ -3006,7 +3096,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'])
@@ -3025,7 +3115,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
@@ -3042,7 +3132,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
@@ -3055,12 +3145,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.
@@ -3100,11 +3192,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."""
@@ -3118,7 +3210,9 @@ class LibvirtDriver(driver.ComputeDriver):
def _check_shared_storage_test_file(self, filename):
"""Confirms existence of the tmpfile under CONF.instances_path.
- Cannot confirm tmpfile return False."""
+
+ Cannot confirm tmpfile return False.
+ """
tmp_file = os.path.join(CONF.instances_path, filename)
if not os.path.exists(tmp_file):
return False
@@ -3130,7 +3224,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.
@@ -3145,21 +3239,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):
@@ -3168,13 +3262,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
@@ -3190,17 +3284,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
@@ -3222,7 +3316,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,
@@ -3230,9 +3324,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)
@@ -3240,10 +3334,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
@@ -3339,7 +3433,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.
@@ -3347,11 +3441,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.
@@ -3380,7 +3474,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'],
@@ -3389,17 +3483,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
@@ -3407,23 +3501,23 @@ 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):
"""Preparation block migration.
- :params instance_ref:
+ :params instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
:return:
@@ -3444,9 +3538,12 @@ 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)
@@ -3461,14 +3558,12 @@ class LibvirtDriver(driver.ComputeDriver):
path = path_node.get('file')
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
# get the real disk size or
@@ -3507,8 +3602,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:
@@ -3518,15 +3613,16 @@ 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):
"""Return the current state of the host.
- If 'refresh' is True, run update the stats first."""
+ If 'refresh' is True, run update the stats first.
+ """
return self.host_state.get_host_stats(refresh=refresh)
def get_host_uptime(self, host):
@@ -3709,7 +3805,8 @@ class LibvirtDriver(driver.ComputeDriver):
def _cleanup_failed_migration(self, inst_base):
"""Make sure that a failed migrate doesn't prevent us from rolling
- back in a revert."""
+ back in a revert.
+ """
shutil.rmtree(inst_base)
def finish_revert_migration(self, instance, network_info,
@@ -3837,9 +3934,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):
@@ -3857,7 +3952,8 @@ class HostState(object):
def get_host_stats(self, refresh=False):
"""Return the current state of the host.
- If 'refresh' is True, run update the stats first."""
+ If 'refresh' is True, run update the stats first.
+ """
if refresh:
self.update_status()
return self._stats
diff --git a/nova/virt/libvirt/firewall.py b/nova/virt/libvirt/firewall.py
index 90155baf3..f9e948a5e 100644
--- a/nova/virt/libvirt/firewall.py
+++ b/nova/virt/libvirt/firewall.py
@@ -83,7 +83,8 @@ class NWFilterFirewall(base_firewall.FirewallDriver):
def nova_dhcp_filter():
"""The standard allow-dhcp-server filter is an <ip> one, so it uses
ebtables to allow traffic through. Without a corresponding rule in
- iptables, it'll get blocked anyway."""
+ iptables, it'll get blocked anyway.
+ """
return '''<filter name='nova-allow-dhcp-server' chain='ipv4'>
<uuid>891e4787-e5c0-d59b-cbd6-41bc3c6b36fc</uuid>
@@ -244,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,
@@ -268,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/imagebackend.py b/nova/virt/libvirt/imagebackend.py
index 3d394fb79..c564d2d24 100755
--- a/nova/virt/libvirt/imagebackend.py
+++ b/nova/virt/libvirt/imagebackend.py
@@ -166,7 +166,7 @@ class Image(object):
if can_fallocate is None:
_out, err = utils.trycmd('fallocate', '-n', '-l', '1',
self.path + '.fallocate_test')
- utils.delete_if_exists(self.path + '.fallocate_test')
+ fileutils.delete_if_exists(self.path + '.fallocate_test')
can_fallocate = not err
self.__class__.can_fallocate = can_fallocate
if not can_fallocate:
@@ -215,7 +215,7 @@ class Raw(Image):
else:
prepare_template(target=base, *args, **kwargs)
if not os.path.exists(self.path):
- with utils.remove_path_on_error(self.path):
+ with fileutils.remove_path_on_error(self.path):
copy_raw_image(base, self.path, size)
self.correct_format()
@@ -250,8 +250,33 @@ class Qcow2(Image):
if size:
disk.extend(target, size)
+ # Download the unmodified base image unless we already have a copy.
if not os.path.exists(base):
prepare_template(target=base, *args, **kwargs)
+
+ legacy_backing_size = None
+ legacy_base = base
+
+ # Determine whether an existing qcow2 disk uses a legacy backing by
+ # actually looking at the image itself and parsing the output of the
+ # backing file it expects to be using.
+ if os.path.exists(self.path):
+ backing_path = libvirt_utils.get_disk_backing_file(self.path)
+ backing_file = os.path.basename(backing_path)
+ backing_parts = backing_file.rpartition('_')
+ if backing_file != backing_parts[-1] and \
+ backing_parts[-1].isdigit():
+ legacy_backing_size = int(backing_parts[-1])
+ legacy_base += '_%d' % legacy_backing_size
+ legacy_backing_size *= 1024 * 1024 * 1024
+
+ # Create the legacy backing file if necessary.
+ if legacy_backing_size:
+ if not os.path.exists(legacy_base):
+ with fileutils.remove_path_on_error(legacy_base):
+ libvirt_utils.copy_image(base, legacy_base)
+ disk.extend(legacy_base, legacy_backing_size)
+
# NOTE(cfb): Having a flavor that sets the root size to 0 and having
# nova effectively ignore that size and use the size of the
# image is considered a feature at this time, not a bug.
@@ -260,7 +285,7 @@ class Qcow2(Image):
(base, size))
raise exception.InstanceTypeDiskTooSmall()
if not os.path.exists(self.path):
- with utils.remove_path_on_error(self.path):
+ with fileutils.remove_path_on_error(self.path):
copy_qcow2_image(base, self.path, size)
def snapshot_create(self):
diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
index c444dcfb2..3ae366481 100755
--- a/nova/virt/libvirt/utils.py
+++ b/nova/virt/libvirt/utils.py
@@ -26,6 +26,7 @@ import os
from lxml import etree
from oslo.config import cfg
+from nova import exception
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
from nova import utils
@@ -52,7 +53,11 @@ def get_iscsi_initiator():
"""Get iscsi initiator name for this machine."""
# NOTE(vish) openiscsi stores initiator name in a file that
# needs root permission to read.
- contents = utils.read_file_as_root('/etc/iscsi/initiatorname.iscsi')
+ try:
+ contents = utils.read_file_as_root('/etc/iscsi/initiatorname.iscsi')
+ except exception.FileNotFound:
+ return None
+
for l in contents.split('\n'):
if l.startswith('InitiatorName='):
return l[l.index('=') + 1:].strip()
@@ -550,7 +555,8 @@ def file_delete(path):
def find_disk(virt_dom):
"""Find root device path for instance
- May be file or device"""
+ May be file or device
+ """
xml_desc = virt_dom.XMLDesc(0)
domain = etree.fromstring(xml_desc)
if CONF.libvirt_type == 'lxc':
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index 28c481cfe..d0a2283e7 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -262,9 +262,10 @@ 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(
@@ -383,9 +384,10 @@ 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(
@@ -470,9 +472,10 @@ 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(
@@ -495,7 +498,8 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
class LibvirtBridgeDriver(LibvirtGenericVIFDriver):
"""Retained in Grizzly for compatibility with Quantum
drivers which do not yet report 'vif_type' port binding.
- Will be deprecated in Havana, and removed in Ixxxx."""
+ Will be deprecated in Havana, and removed in Ixxxx.
+ """
def get_config(self, instance, network, mapping, image_meta):
LOG.deprecated(_("The LibvirtBridgeDriver VIF driver is now "
@@ -515,7 +519,8 @@ class LibvirtBridgeDriver(LibvirtGenericVIFDriver):
class LibvirtOpenVswitchDriver(LibvirtGenericVIFDriver):
"""Retained in Grizzly for compatibility with Quantum
drivers which do not yet report 'vif_type' port binding.
- Will be deprecated in Havana, and removed in Ixxxx."""
+ Will be deprecated in Havana, and removed in Ixxxx.
+ """
def get_bridge_name(self, network):
return network.get('bridge') or CONF.libvirt_ovs_bridge
@@ -543,7 +548,8 @@ class LibvirtOpenVswitchDriver(LibvirtGenericVIFDriver):
class LibvirtHybridOVSBridgeDriver(LibvirtGenericVIFDriver):
"""Retained in Grizzly for compatibility with Quantum
drivers which do not yet report 'vif_type' port binding.
- Will be deprecated in Havana, and removed in Ixxxx."""
+ Will be deprecated in Havana, and removed in Ixxxx.
+ """
def get_bridge_name(self, network):
return network.get('bridge') or CONF.libvirt_ovs_bridge
@@ -571,7 +577,8 @@ class LibvirtHybridOVSBridgeDriver(LibvirtGenericVIFDriver):
class LibvirtOpenVswitchVirtualPortDriver(LibvirtGenericVIFDriver):
"""Retained in Grizzly for compatibility with Quantum
drivers which do not yet report 'vif_type' port binding.
- Will be deprecated in Havana, and removed in Ixxxx."""
+ Will be deprecated in Havana, and removed in Ixxxx.
+ """
def get_bridge_name(self, network):
return network.get('bridge') or CONF.libvirt_ovs_bridge
@@ -599,7 +606,8 @@ class LibvirtOpenVswitchVirtualPortDriver(LibvirtGenericVIFDriver):
class QuantumLinuxBridgeVIFDriver(LibvirtGenericVIFDriver):
"""Retained in Grizzly for compatibility with Quantum
drivers which do not yet report 'vif_type' port binding.
- Will be deprecated in Havana, and removed in Ixxxx."""
+ Will be deprecated in Havana, and removed in Ixxxx.
+ """
def get_bridge_name(self, network):
def_bridge = ("brq" + network['id'])[:network_model.NIC_NAME_LEN]
diff --git a/nova/virt/libvirt/volume.py b/nova/virt/libvirt/volume.py
index 34fd9c772..02aeaaa98 100644
--- a/nova/virt/libvirt/volume.py
+++ b/nova/virt/libvirt/volume.py
@@ -131,7 +131,7 @@ class LibvirtFakeVolumeDriver(LibvirtBaseVolumeDriver):
disk_info)
conf.source_type = "network"
conf.source_protocol = "fake"
- conf.source_host = "fake"
+ conf.source_name = "fake"
return conf
@@ -145,10 +145,12 @@ class LibvirtNetVolumeDriver(LibvirtBaseVolumeDriver):
conf = super(LibvirtNetVolumeDriver,
self).connect_volume(connection_info,
disk_info)
+ netdisk_properties = connection_info['data']
conf.source_type = "network"
conf.source_protocol = connection_info['driver_volume_type']
- conf.source_host = connection_info['data']['name']
- netdisk_properties = connection_info['data']
+ conf.source_name = netdisk_properties.get('name')
+ conf.source_hosts = netdisk_properties.get('hosts', [])
+ conf.source_ports = netdisk_properties.get('ports', [])
auth_enabled = netdisk_properties.get('auth_enabled')
if (conf.source_protocol == 'rbd' and
CONF.rbd_secret_uuid):
@@ -753,6 +755,7 @@ class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
% {'device': mdev_info['device']})
device_path = mdev_info['device']
connection_info['data']['devices'] = mdev_info['devices']
+ connection_info['data']['multipath_id'] = mdev_info['id']
else:
# we didn't find a multipath device.
# so we assume the kernel only sees 1 device
@@ -774,6 +777,15 @@ class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
self).disconnect_volume(connection_info, mount_device)
devices = connection_info['data']['devices']
+ # If this is a multipath device, we need to search again
+ # and make sure we remove all the devices. Some of them
+ # might not have shown up at attach time.
+ if 'multipath_id' in connection_info['data']:
+ multipath_id = connection_info['data']['multipath_id']
+ mdev_info = linuxscsi.find_multipath_device(multipath_id)
+ devices = mdev_info['devices']
+ LOG.debug("devices to remove = %s" % devices)
+
# There may have been more than 1 device mounted
# by the kernel for this volume. We have to remove
# all of them
@@ -783,7 +795,8 @@ class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
class LibvirtScalityVolumeDriver(LibvirtBaseVolumeDriver):
"""Scality SOFS Nova driver. Provide hypervisors with access
- to sparse files on SOFS. """
+ to sparse files on SOFS.
+ """
def __init__(self, connection):
"""Create back-end to SOFS and check connection."""
diff --git a/nova/virt/powervm/blockdev.py b/nova/virt/powervm/blockdev.py
index 73099b148..9f567b746 100644
--- a/nova/virt/powervm/blockdev.py
+++ b/nova/virt/powervm/blockdev.py
@@ -177,7 +177,7 @@ class PowerVMLocalVolumeAdapter(PowerVMDiskAdapter):
# calculate root device size in bytes
# we respect the minimum root device size in constants
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
size_gb = max(instance_type['root_gb'], constants.POWERVM_MIN_ROOT_GB)
size = size_gb * 1024 * 1024 * 1024
diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py
index 5117bdf72..c2cee276d 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
@@ -69,7 +69,8 @@ class PowerVMDriver(driver.ComputeDriver):
def init_host(self, host):
"""Initialize anything that is necessary for the driver to function,
- including catching up with currently running VM's on the given host."""
+ including catching up with currently running VM's on the given host.
+ """
pass
def get_info(self, instance):
@@ -161,10 +162,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)
@@ -290,7 +287,7 @@ class PowerVMDriver(driver.ComputeDriver):
"""
lpar_obj = self._powervm._create_lpar_instance(instance, network_info)
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
new_lv_size = instance_type['root_gb']
old_lv_size = disk_info['old_lv_size']
if 'root_disk_file' in disk_info:
diff --git a/nova/virt/virtapi.py b/nova/virt/virtapi.py
index 963b3c788..5b0a31826 100644
--- a/nova/virt/virtapi.py
+++ b/nova/virt/virtapi.py
@@ -26,20 +26,6 @@ class VirtAPI(object):
"""
raise NotImplementedError()
- def instance_get_by_uuid(self, context, instance_uuid):
- """Look up an instance by uuid
- :param context: security context
- :param instance_uuid: uuid of the instance to be fetched
- """
- raise NotImplementedError()
-
- def instance_get_all_by_host(self, context, host):
- """Find all instances on a given host
- :param context: security context
- :param host: host running instances to be returned
- """
- raise NotImplementedError()
-
def aggregate_get_by_host(self, context, host, key=None):
"""Get a list of aggregates to which the specified host belongs
:param context: security context
diff --git a/nova/virt/vmwareapi/driver.py b/nova/virt/vmwareapi/driver.py
index 916913187..3cf9d32b4 100755
--- a/nova/virt/vmwareapi/driver.py
+++ b/nova/virt/vmwareapi/driver.py
@@ -296,12 +296,15 @@ class VMwareESXDriver(driver.ComputeDriver):
def update_host_status(self):
"""Update the status info of the host, and return those values
- to the calling program."""
+ to the calling program.
+ """
return self.host_state.update_status()
def get_host_stats(self, refresh=False):
- """Return the current state of the host. If 'refresh' is
- True, run the update first."""
+ """Return the current state of the host.
+
+ If 'refresh' is True, run the update first.
+ """
return self.host_state.get_host_stats(refresh=refresh)
def host_power_action(self, host, action):
@@ -310,7 +313,8 @@ class VMwareESXDriver(driver.ComputeDriver):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
return self._host.host_maintenance_mode(host, mode)
def set_host_enabled(self, host, enabled):
@@ -329,16 +333,6 @@ class VMwareESXDriver(driver.ComputeDriver):
"""Unplug VIFs from networks."""
self._vmops.unplug_vifs(instance, network_info)
- def list_interfaces(self, instance_name):
- """
- Return the IDs of all the virtual network interfaces attached to the
- specified instance, as a list. These IDs are opaque to the caller
- (they are only useful for giving back to this layer as a parameter to
- interface_stats). These IDs only need to be unique for a given
- instance.
- """
- return self._vmops.list_interfaces(instance_name)
-
class VMwareVCDriver(VMwareESXDriver):
"""The ESX host connection object."""
diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py
index 86b6e5fc2..cd8302115 100644
--- a/nova/virt/vmwareapi/fake.py
+++ b/nova/virt/vmwareapi/fake.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
@@ -29,7 +30,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
@@ -60,6 +61,7 @@ def reset():
create_datacenter()
create_datastore()
create_res_pool()
+ create_cluster()
def cleanup():
@@ -89,14 +91,20 @@ class Prop(object):
self.val = None
+class Obj(object):
+ def __init__(self, name, value):
+ self.value = value
+ self._type = name
+
+
class ManagedObject(object):
"""Managed Data 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)
if obj_ref is None:
- obj_ref = str(uuid.uuid4())
+ obj_ref = Obj(name, value)
object.__setattr__(self, 'obj', obj_ref)
object.__setattr__(self, 'propSet', [])
@@ -136,6 +144,11 @@ class ManagedObject(object):
class DataObject(object):
"""Data object base class."""
+ def __init__(self, obj_name=None):
+ self.obj_name = obj_name
+
+
+class HostInternetScsiHba():
pass
@@ -184,7 +197,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"))
@@ -202,6 +215,7 @@ 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.device = kwargs.get("virtual_device")
def reconfig(self, factory, val):
"""
@@ -224,9 +238,8 @@ class VirtualMachine(ManagedObject):
controller = VirtualLsiLogicController()
controller.key = controller_key
- nic = VirtualPCNet32()
-
- self.set("config.hardware.device", [disk, controller, nic])
+ self.set("config.hardware.device", [disk, controller,
+ self.device[0]])
except AttributeError:
# Case of Reconfig of VM to set extra params
self.set("config.extraConfig", val.extraConfig)
@@ -248,6 +261,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."""
@@ -255,8 +287,8 @@ class Datastore(ManagedObject):
super(Datastore, self).__init__("Datastore")
self.set("summary.type", "VMFS")
self.set("summary.name", "fake-ds")
- self.set("summary.capacity", 1024 * 1024 * 1024)
- self.set("summary.freeSpace", 500 * 1024 * 1024)
+ self.set("summary.capacity", 1024 * 1024 * 1024 * 1024)
+ self.set("summary.freeSpace", 500 * 1024 * 1024 * 1024)
class HostNetworkSystem(ManagedObject):
@@ -345,6 +377,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
@@ -427,6 +470,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)
@@ -501,7 +549,7 @@ class FakeFactory(object):
def create(self, obj_name):
"""Creates a namespace object."""
- return DataObject()
+ return DataObject(obj_name)
class FakeVim(object):
@@ -583,7 +631,9 @@ class FakeVim(object):
"powerstate": "poweredOff",
"vmPathName": config_spec.files.vmPathName,
"numCpu": config_spec.numCPUs,
- "mem": config_spec.memoryMB}
+ "mem": config_spec.memoryMB,
+ "extra_config": config_spec.extraConfig,
+ "virtual_device": config_spec.deviceChange}
virtual_machine = VirtualMachine(**vm_dict)
_create_object("VirtualMachine", virtual_machine)
task_mdo = create_task(method, "success")
@@ -678,6 +728,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/host.py b/nova/virt/vmwareapi/host.py
index 8c62c5ce9..6fb8a8ff8 100644
--- a/nova/virt/vmwareapi/host.py
+++ b/nova/virt/vmwareapi/host.py
@@ -57,7 +57,8 @@ class Host(object):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
host_mor = self._session._call_method(vim_util, "get_objects",
"HostSystem")[0].obj
LOG.debug(_("Set maintenance mod on %(host)s to %(mode)s") % locals())
@@ -126,8 +127,8 @@ class HostState(object):
"sockets": summary.hardware.numCpuPkgs,
"threads": summary.hardware.numCpuThreads}
}
- data["disk_total"] = ds[2] / (1024 * 1024)
- data["disk_available"] = ds[3] / (1024 * 1024)
+ data["disk_total"] = ds[2] / (1024 * 1024 * 1024)
+ data["disk_available"] = ds[3] / (1024 * 1024 * 1024)
data["disk_used"] = data["disk_total"] - data["disk_available"]
data["host_memory_total"] = summary.hardware.memorySize / (1024 * 1024)
data["host_memory_free"] = data["host_memory_total"] - \
@@ -193,8 +194,8 @@ class VCState(object):
"sockets": summary.hardware.numCpuPkgs,
"threads": summary.hardware.numCpuThreads}
}
- data["disk_total"] = ds[2] / (1024 * 1024)
- data["disk_available"] = ds[3] / (1024 * 1024)
+ data["disk_total"] = ds[2] / (1024 * 1024 * 1024)
+ data["disk_available"] = ds[3] / (1024 * 1024 * 1024)
data["disk_used"] = data["disk_total"] - data["disk_available"]
data["host_memory_total"] = summary.hardware.memorySize / (1024 * 1024)
data["host_memory_free"] = data["host_memory_total"] -\
diff --git a/nova/virt/vmwareapi/io_util.py b/nova/virt/vmwareapi/io_util.py
index 357a97654..3e182bf72 100644
--- a/nova/virt/vmwareapi/io_util.py
+++ b/nova/virt/vmwareapi/io_util.py
@@ -36,7 +36,8 @@ GLANCE_POLL_INTERVAL = 5
class ThreadSafePipe(queue.LightQueue):
"""The pipe to hold the data which the reader writes to and the writer
- reads from."""
+ reads from.
+ """
def __init__(self, maxsize, transfer_size):
queue.LightQueue.__init__(self, maxsize)
@@ -44,9 +45,12 @@ class ThreadSafePipe(queue.LightQueue):
self.transferred = 0
def read(self, chunk_size):
- """Read data from the pipe. Chunksize if ignored for we have ensured
+ """Read data from the pipe.
+
+ Chunksize if ignored for we have ensured
that the data chunks written to the pipe by readers is the same as the
- chunks asked for by the Writer."""
+ chunks asked for by the Writer.
+ """
if self.transferred < self.transfer_size:
data_item = self.get()
self.transferred += len(data_item)
@@ -73,7 +77,8 @@ class ThreadSafePipe(queue.LightQueue):
class GlanceWriteThread(object):
"""Ensures that image data is written to in the glance client and that
- it is in correct ('active')state."""
+ it is in correct ('active')state.
+ """
def __init__(self, context, input, image_service, image_id,
image_meta=None):
@@ -92,7 +97,8 @@ class GlanceWriteThread(object):
def _inner():
"""Function to do the image data transfer through an update
- and thereon checks if the state is 'active'."""
+ and thereon checks if the state is 'active'.
+ """
self.image_service.update(self.context,
self.image_id,
self.image_meta,
@@ -143,7 +149,8 @@ class GlanceWriteThread(object):
class IOThread(object):
"""Class that reads chunks from the input file and writes them to the
- output file till the transfer is completely done."""
+ output file till the transfer is completely done.
+ """
def __init__(self, input, output):
self.input = input
@@ -156,7 +163,8 @@ class IOThread(object):
def _inner():
"""Read data from the input and write the same to the output
- until the transfer completes."""
+ until the transfer completes.
+ """
self._running = True
while self._running:
try:
diff --git a/nova/virt/vmwareapi/read_write_util.py b/nova/virt/vmwareapi/read_write_util.py
index c82b96fd9..026113f5c 100644
--- a/nova/virt/vmwareapi/read_write_util.py
+++ b/nova/virt/vmwareapi/read_write_util.py
@@ -44,8 +44,11 @@ class GlanceFileRead(object):
self.iter = self.get_next()
def read(self, chunk_size):
- """Read an item from the queue. The chunk size is ignored for the
- Client ImageBodyIterator uses its own CHUNKSIZE."""
+ """Read an item from the queue.
+
+ The chunk size is ignored for the Client ImageBodyIterator
+ uses its own CHUNKSIZE.
+ """
try:
return self.iter.next()
except StopIteration:
diff --git a/nova/virt/vmwareapi/vm_util.py b/nova/virt/vmwareapi/vm_util.py
index 4287b4eaa..fecac5bcc 100644
--- a/nova/virt/vmwareapi/vm_util.py
+++ b/nova/virt/vmwareapi/vm_util.py
@@ -47,7 +47,7 @@ def get_vm_create_spec(client_factory, instance, data_store_name,
vif_infos, os_type="otherGuest"):
"""Builds the VM Create spec."""
config_spec = client_factory.create('ns0:VirtualMachineConfigSpec')
- config_spec.name = instance['name']
+ config_spec.name = instance['uuid']
config_spec.guestId = os_type
vm_file_info = client_factory.create('ns0:VirtualMachineFileInfo')
@@ -126,8 +126,12 @@ def create_network_spec(client_factory, vif_info):
network_spec = client_factory.create('ns0:VirtualDeviceConfigSpec')
network_spec.operation = "add"
- # Get the recommended card type for the VM based on the guest OS of the VM
- net_device = client_factory.create('ns0:VirtualPCNet32')
+ # Keep compatible with other Hyper vif model parameter.
+ if vif_info['vif_model'] == "e1000":
+ vif_info['vif_model'] = "VirtualE1000"
+
+ vif = 'ns0:' + vif_info['vif_model']
+ net_device = client_factory.create(vif)
# NOTE(asomya): Only works on ESXi if the portgroup binding is set to
# ephemeral. Invalid configuration if set to static and the NIC does
@@ -499,6 +503,25 @@ def get_vm_ref_from_name(session, vm_name):
return None
+def get_vm_ref_from_uuid(session, instance_uuid):
+ """Get reference to the VM with the uuid specified."""
+ vms = session._call_method(vim_util, "get_objects",
+ "VirtualMachine", ["name"])
+ for vm in vms:
+ if vm.propSet[0].val == instance_uuid:
+ return vm.obj
+
+
+def get_vm_ref(session, instance):
+ """Get reference to the VM through uuid or vm name."""
+ vm_ref = get_vm_ref_from_uuid(session, instance['uuid'])
+ if not vm_ref:
+ vm_ref = get_vm_ref_from_name(session, instance['name'])
+ if vm_ref is None:
+ raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ return vm_ref
+
+
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 538b498b6..c58aac219 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -130,9 +130,6 @@ class VMwareVMOps(object):
4. Attach the disk to the VM by reconfiguring the same.
5. Power on the VM.
"""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref:
- raise exception.InstanceExists(name=instance['name'])
client_factory = self._session._get_vim().client.factory
service_content = self._session._get_vim().get_service_content()
@@ -155,10 +152,13 @@ class VMwareVMOps(object):
"lsiLogic")
disk_type = image_properties.get("vmware_disktype",
"preallocated")
- return vmdk_file_size_in_kb, os_type, adapter_type, disk_type
+ # Get the network card type from the image properties.
+ vif_model = image_properties.get("hw_vif_model", "VirtualE1000")
+ return (vmdk_file_size_in_kb, os_type, adapter_type, disk_type,
+ vif_model)
(vmdk_file_size_in_kb, os_type, adapter_type,
- disk_type) = _get_image_properties()
+ disk_type, vif_model) = _get_image_properties()
vm_folder_ref = self._get_vmfolder_ref()
res_pool_ref = self._get_res_pool_ref()
@@ -182,7 +182,8 @@ class VMwareVMOps(object):
vif_infos.append({'network_name': network_name,
'mac_address': mac_address,
'network_ref': network_ref,
- 'iface_id': vif.get_meta('iface_id'),
+ 'iface_id': vif['id'],
+ 'vif_model': vif_model
})
return vif_infos
@@ -206,7 +207,7 @@ class VMwareVMOps(object):
LOG.debug(_("Created VM on the ESX host"), instance=instance)
_execute_create_vm()
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
# Set the machine.id parameter of the instance to inject
# the NIC configuration inside the VM
@@ -349,7 +350,7 @@ class VMwareVMOps(object):
upload_folder = self._instance_path_base
upload_name = instance['image_ref']
else:
- upload_folder = instance['name']
+ upload_folder = instance['uuid']
upload_name = instance['name']
# The vmdk meta-data file
@@ -406,7 +407,7 @@ class VMwareVMOps(object):
root_disk = driver.block_device_info_get_mapping(
block_device_info)[0]
connection_info = root_disk['connection_info']
- self._volumeops.attach_volume(connection_info, instance['name'],
+ self._volumeops.attach_volume(connection_info, instance['uuid'],
self._default_root_device)
def _power_on_vm():
@@ -435,10 +436,7 @@ class VMwareVMOps(object):
4. Now upload the -flat.vmdk file to the image store.
5. Delete the coalesced .vmdk and -flat.vmdk created.
"""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
-
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
client_factory = self._session._get_vim().client.factory
service_content = self._session._get_vim().get_service_content()
@@ -468,7 +466,7 @@ class VMwareVMOps(object):
snapshot_task = self._session._call_method(
self._session._get_vim(),
"CreateSnapshot_Task", vm_ref,
- name="%s-snapshot" % instance['name'],
+ name="%s-snapshot" % instance['uuid'],
description="Taking Snapshot of the VM",
memory=False,
quiesce=True)
@@ -583,10 +581,7 @@ class VMwareVMOps(object):
def reboot(self, instance, network_info):
"""Reboot a VM instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
-
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
self.plug_vifs(instance, network_info)
lst_properties = ["summary.guest.toolsStatus", "runtime.powerState",
@@ -633,14 +628,8 @@ class VMwareVMOps(object):
2. Destroy the VM.
"""
try:
- vm_ref = vm_util.get_vm_ref_from_name(self._session,
- instance['name'])
- if vm_ref is None:
- LOG.debug(_("instance not present"), instance=instance)
- return
-
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
self.power_off(instance)
-
try:
LOG.debug(_("Destroying the VM"), instance=instance)
destroy_task = self._session._call_method(
@@ -665,11 +654,7 @@ class VMwareVMOps(object):
3. Delete the contents of the folder holding the VM related data.
"""
try:
- vm_ref = vm_util.get_vm_ref_from_name(self._session,
- instance['name'])
- if vm_ref is None:
- LOG.debug(_("instance not present"), instance=instance)
- return
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
lst_properties = ["config.files.vmPathName", "runtime.powerState"]
props = self._session._call_method(vim_util,
"get_object_properties",
@@ -748,10 +733,7 @@ class VMwareVMOps(object):
def suspend(self, instance):
"""Suspend the specified instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
-
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
pwr_state = self._session._call_method(vim_util,
"get_dynamic_property", vm_ref,
"VirtualMachine", "runtime.powerState")
@@ -772,10 +754,7 @@ class VMwareVMOps(object):
def resume(self, instance):
"""Resume the specified instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
-
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
pwr_state = self._session._call_method(vim_util,
"get_dynamic_property", vm_ref,
"VirtualMachine", "runtime.powerState")
@@ -797,9 +776,7 @@ class VMwareVMOps(object):
- spawn a rescue VM (the vm name-label will be instance-N-rescue).
"""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
self.power_off(instance)
instance['name'] = instance['name'] + self._rescue_suffix
@@ -813,7 +790,10 @@ class VMwareVMOps(object):
= vm_util.get_vmdk_path_and_adapter_type(hardware_devices)
# Figure out the correct unit number
unit_number = unit_number + 1
- rescue_vm_ref = vm_util.get_vm_ref_from_name(self._session,
+ rescue_vm_ref = vm_util.get_vm_ref_from_uuid(self._session,
+ instance['uuid'])
+ if rescue_vm_ref is None:
+ rescue_vm_ref = vm_util.get_vm_ref_from_name(self._session,
instance['name'])
self._volumeops.attach_disk_to_vm(
rescue_vm_ref, instance,
@@ -831,9 +811,7 @@ class VMwareVMOps(object):
def power_off(self, instance):
"""Power off the specified instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
pwr_state = self._session._call_method(vim_util,
"get_dynamic_property", vm_ref,
@@ -856,9 +834,7 @@ class VMwareVMOps(object):
def power_on(self, instance):
"""Power on the specified instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
pwr_state = self._session._call_method(vim_util,
"get_dynamic_property", vm_ref,
@@ -906,9 +882,7 @@ class VMwareVMOps(object):
step=0,
total_steps=RESIZE_TOTAL_STEPS)
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['name'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
host_ref = self._get_host_ref_from_name(dest)
if host_ref is None:
raise exception.HostNotFound(host=dest)
@@ -959,7 +933,9 @@ class VMwareVMOps(object):
"""Confirms a resize, destroying the source VM."""
instance_name = self._get_orig_vm_name_label(instance)
# Destroy the original VM.
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance_name)
+ vm_ref = vm_util.get_vm_ref_from_uuid(self._session, instance['uuid'])
+ if vm_ref is None:
+ vm_ref = vm_util.get_vm_ref_from_name(self._session, instance_name)
if vm_ref is None:
LOG.debug(_("instance not present"), instance=instance)
return
@@ -991,7 +967,7 @@ class VMwareVMOps(object):
instance=instance)
rename_task = self._session._call_method(
self._session._get_vim(),
- "Rename_Task", vm_ref, newName=instance['name'])
+ "Rename_Task", vm_ref, newName=instance['uuid'])
self._session._wait_for_task(instance['uuid'], rename_task)
LOG.debug(_("Renamed the VM from %s") % name_label,
instance=instance)
@@ -1012,9 +988,8 @@ class VMwareVMOps(object):
def live_migration(self, context, instance_ref, dest,
post_method, recover_method, block_migration=False):
"""Spawning live_migration operation for distributing high-load."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance_ref.name)
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance_ref.name)
+ vm_ref = vm_util.get_vm_ref(self._session, instance_ref)
+
host_ref = self._get_host_ref_from_name(dest)
if host_ref is None:
raise exception.HostNotFound(host=dest)
@@ -1050,9 +1025,7 @@ class VMwareVMOps(object):
def get_info(self, instance):
"""Return data about the VM instance."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['name'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
lst_properties = ["summary.config.numCpu",
"summary.config.memorySizeMB",
@@ -1086,9 +1059,8 @@ class VMwareVMOps(object):
def get_console_output(self, instance):
"""Return snapshot of console."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
+
param_list = {"id": str(vm_ref.value)}
base_url = "%s://%s/screen?%s" % (self._session._scheme,
self._session._host_ip,
@@ -1107,9 +1079,7 @@ class VMwareVMOps(object):
def get_vnc_console(self, instance):
"""Return connection info for a vnc console."""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
return {'host': CONF.vmwareapi_host_ip,
'port': self._get_vnc_port(vm_ref),
@@ -1155,9 +1125,7 @@ class VMwareVMOps(object):
Set the machine id of the VM for guest tools to pick up and reconfigure
the network interfaces.
"""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
machine_id_change_spec = vm_util.get_machine_id_change_spec(
client_factory,
@@ -1176,9 +1144,7 @@ class VMwareVMOps(object):
"""
Set the vnc configuration of the VM.
"""
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance['uuid'])
+ vm_ref = vm_util.get_vm_ref(self._session, instance)
vnc_config_spec = vm_util.get_vnc_config_spec(
client_factory, port, password)
@@ -1323,28 +1289,3 @@ class VMwareVMOps(object):
def unplug_vifs(self, instance, network_info):
"""Unplug VIFs from networks."""
pass
-
- def list_interfaces(self, instance_name):
- """
- Return the IDs of all the virtual network interfaces attached to the
- specified instance, as a list. These IDs are opaque to the caller
- (they are only useful for giving back to this layer as a parameter to
- interface_stats). These IDs only need to be unique for a given
- instance.
- """
- vm_ref = vm_util.get_vm_ref_from_name(self._session, instance_name)
- if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance_name)
-
- interfaces = []
- # Get the virtual network interfaces attached to the VM
- hardware_devices = self._session._call_method(vim_util,
- "get_dynamic_property", vm_ref,
- "VirtualMachine", "config.hardware.device")
-
- for device in hardware_devices:
- if device.__class__.__name__ in ["VirtualE1000", "VirtualE1000e",
- "VirtualPCNet32", "VirtualVmxnet"]:
- interfaces.append(device.key)
-
- return interfaces
diff --git a/nova/virt/vmwareapi/vmware_images.py b/nova/virt/vmwareapi/vmware_images.py
index 6b6f005df..5e22d7f5e 100644
--- a/nova/virt/vmwareapi/vmware_images.py
+++ b/nova/virt/vmwareapi/vmware_images.py
@@ -36,7 +36,8 @@ def start_transfer(context, read_file_handle, data_size,
"""Start the data transfer from the reader to the writer.
Reader writes to the pipe and the writer reads from the pipe. This means
that the total transfer time boils down to the slower of the read/write
- and not the addition of the two times."""
+ and not the addition of the two times.
+ """
if not image_meta:
image_meta = {}
diff --git a/nova/virt/xenapi/agent.py b/nova/virt/xenapi/agent.py
index ecba96beb..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 = {}
@@ -99,41 +100,41 @@ def _call_agent(session, instance, vm_ref, method, addl_args=None,
err_msg = e.details[-1].splitlines()[-1]
if 'TIMEOUT:' in err_msg:
LOG.error(_('TIMEOUT: The call to %(method)s timed out. '
- 'args=%(args)r'), locals(), instance=instance)
- return {'returncode': 'timeout', 'message': err_msg}
+ 'args=%(args)r'),
+ {'method': method, 'args': args}, instance=instance)
+ 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'),
- locals(), instance=instance)
- return {'returncode': 'notimplemented', 'message': err_msg}
+ LOG.error(_('NOT IMPLEMENTED: The call to %(method)s is not '
+ 'supported by the agent. args=%(args)r'),
+ {'method': method, 'args': args}, instance=instance)
+ raise exception.AgentNotImplemented(method=method)
else:
LOG.error(_('The call to %(method)s returned an error: %(e)s. '
- 'args=%(args)r'), locals(), instance=instance)
- return {'returncode': 'error', 'message': err_msg}
- return None
+ 'args=%(args)r'),
+ {'method': method, 'args': args, 'e': e},
+ instance=instance)
+ 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. path=%(path)s; args=%(args)r'),
- locals(), 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: %(resp)r'),
- locals(), instance=instance)
- return None
+ 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)
+ 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):
@@ -143,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."""
@@ -155,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: %(resp)r'), locals(),
- 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.
@@ -192,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: %(resp)r') % locals()
- 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 update password: %(resp)r') % locals()
- 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([
@@ -264,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: %(resp)r'), locals(),
- 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: %(resp)r'), locals(),
- instance=self.instance)
- return None
-
- return resp['message']
+ return self._call_agent('resetnetwork',
+ timeout=CONF.agent_resetnetwork_timeout)
def find_guest_agent(base_dir):
@@ -324,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 cd892bceb..12a087929 100755
--- a/nova/virt/xenapi/driver.py
+++ b/nova/virt/xenapi/driver.py
@@ -238,7 +238,8 @@ class XenAPIDriver(driver.ComputeDriver):
instance_type, network_info,
block_device_info=None):
"""Transfers the VHD of a running instance to another host, then shuts
- off the instance copies over the COW disk"""
+ off the instance copies over the COW disk
+ """
# NOTE(vish): Xen currently does not use network info.
return self._vmops.migrate_disk_and_power_off(context, instance,
dest, instance_type, block_device_info)
@@ -307,7 +308,8 @@ class XenAPIDriver(driver.ComputeDriver):
def get_all_bw_counters(self, instances):
"""Return bandwidth usage counters for each interface on each
- running VM"""
+ running VM.
+ """
# we only care about VMs that correspond to a nova-managed
# instance:
@@ -456,13 +458,15 @@ class XenAPIDriver(driver.ComputeDriver):
def get_instance_disk_info(self, instance_name):
"""Used by libvirt for live migration. We rely on xenapi
- checks to do this for us."""
+ checks to do this for us.
+ """
pass
def pre_block_migration(self, ctxt, instance_ref, disk_info_json):
"""Used by libvirt for live migration. We rely on xenapi
checks to do this for us. May be used in the future to
- populate the vdi/vif maps"""
+ populate the vdi/vif maps.
+ """
pass
def live_migration(self, ctxt, instance_ref, dest,
@@ -524,29 +528,34 @@ class XenAPIDriver(driver.ComputeDriver):
"""Updates security group rules for all instances associated with a
given security group.
- Invoked when security group rules are updated."""
+ Invoked when security group rules are updated.
+ """
return self._vmops.refresh_security_group_rules(security_group_id)
def refresh_security_group_members(self, security_group_id):
"""Updates security group rules for all instances associated with a
given security group.
- Invoked when instances are added/removed to a security group."""
+ Invoked when instances are added/removed to a security group.
+ """
return self._vmops.refresh_security_group_members(security_group_id)
def refresh_instance_security_rules(self, instance):
"""Updates security group rules for specified instance.
Invoked when instances are added/removed to a security group
- or when a rule is added/removed to a security group."""
+ or when a rule is added/removed to a security group.
+ """
return self._vmops.refresh_instance_security_rules(instance)
def refresh_provider_fw_rules(self):
return self._vmops.refresh_provider_fw_rules()
def get_host_stats(self, refresh=False):
- """Return the current state of the host. If 'refresh' is
- True, run the update first."""
+ """Return the current state of the host.
+
+ If 'refresh' is True, run the update first.
+ """
return self.host_state.get_host_stats(refresh=refresh)
def host_power_action(self, host, action):
@@ -572,7 +581,8 @@ class XenAPIDriver(driver.ComputeDriver):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
return self._host.host_maintenance_mode(host, mode)
def add_to_aggregate(self, context, aggregate, host, **kwargs):
@@ -670,7 +680,8 @@ class XenAPISession(object):
def _get_product_version_and_brand(self):
"""Return a tuple of (major, minor, rev) for the host version and
- a string of the product brand"""
+ a string of the product brand.
+ """
software_version = self._get_software_version()
product_version_str = software_version.get('product_version')
diff --git a/nova/virt/xenapi/fake.py b/nova/virt/xenapi/fake.py
index 69b0c2010..f4eac3887 100644
--- a/nova/virt/xenapi/fake.py
+++ b/nova/virt/xenapi/fake.py
@@ -50,10 +50,12 @@
A fake XenAPI SDK.
"""
+import base64
import pickle
import random
import uuid
from xml.sax import saxutils
+import zlib
import pprint
@@ -74,7 +76,8 @@ LOG = logging.getLogger(__name__)
def log_db_contents(msg=None):
text = msg or ""
content = pprint.pformat(_db_content)
- LOG.debug(_("%(text)s: _db_content => %(content)s") % locals())
+ LOG.debug(_("%(text)s: _db_content => %(content)s"),
+ {'text': text, 'content': content})
def reset():
@@ -198,7 +201,8 @@ def create_vbd(vm_ref, vdi_ref, userdevice=0):
def after_VBD_create(vbd_ref, vbd_rec):
"""Create read-only fields and backref from VM and VDI to VBD when VBD
- is created."""
+ is created.
+ """
vbd_rec['currently_attached'] = False
vbd_rec['device'] = ''
@@ -241,7 +245,8 @@ def create_task(name_label):
def create_local_pifs():
"""Adds a PIF for each to the local database with VLAN=-1.
- Do this one per host."""
+ Do this one per host.
+ """
for host_ref in _db_content['host'].keys():
_create_local_pif(host_ref)
@@ -249,7 +254,8 @@ def create_local_pifs():
def create_local_srs():
"""Create an SR that looks like the one created on the local disk by
default by the XenServer installer. Do this one per host. Also, fake
- the installation of an ISO SR."""
+ the installation of an ISO SR.
+ """
for host_ref in _db_content['host'].keys():
create_sr(name_label='Local storage',
type='lvm',
@@ -363,7 +369,8 @@ def check_for_session_leaks():
def as_value(s):
"""Helper function for simulating XenAPI plugin responses. It
- escapes and wraps the given argument."""
+ escapes and wraps the given argument.
+ """
return '<value>%s</value>' % saxutils.escape(s)
@@ -371,7 +378,8 @@ def as_json(*args, **kwargs):
"""Helper function for simulating XenAPI plugin responses for those
that are returning JSON. If this function is given plain arguments,
then these are rendered as a JSON list. If it's given keyword
- arguments then these are rendered as a JSON dict."""
+ arguments then these are rendered as a JSON dict.
+ """
arg = args or kwargs
return jsonutils.dumps(arg)
@@ -471,9 +479,13 @@ class SessionBase(object):
return ref
else:
# SR not found in db, so we create one
- params = {}
- params.update(locals())
- del params['self']
+ params = {'sr_uuid': sr_uuid,
+ 'label': label,
+ 'desc': desc,
+ 'type': type,
+ 'content_type': content_type,
+ 'shared': shared,
+ 'sm_config': sm_config}
sr_ref = _create_object('SR', params)
_db_content['SR'][sr_ref]['uuid'] = sr_uuid
_db_content['SR'][sr_ref]['forgotten'] = 0
@@ -553,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')
@@ -567,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 ''
@@ -608,6 +627,12 @@ class SessionBase(object):
def _plugin_xenhost_host_uptime(self, method, args):
return jsonutils.dumps({"uptime": "fake uptime"})
+ def _plugin_console_get_console_log(self, method, args):
+ dom_id = args["dom_id"]
+ if dom_id == 0:
+ raise Failure('Guest does not have a console')
+ return base64.b64encode(zlib.compress("dom_id: %s" % dom_id))
+
def host_call_plugin(self, _1, _2, plugin, method, args):
func = getattr(self, '_plugin_%s_%s' % (plugin, method), None)
if not func:
@@ -719,8 +744,8 @@ class SessionBase(object):
if impl is not None:
def callit(*params):
- localname = name
- LOG.debug(_('Calling %(localname)s %(impl)s') % locals())
+ LOG.debug(_('Calling %(name)s %(impl)s'),
+ {'name': name, 'impl': impl})
self._check_session(params)
return impl(*params)
return callit
diff --git a/nova/virt/xenapi/firewall.py b/nova/virt/xenapi/firewall.py
index 9c6a60d18..e911b71d5 100644
--- a/nova/virt/xenapi/firewall.py
+++ b/nova/virt/xenapi/firewall.py
@@ -63,8 +63,10 @@ class Dom0IptablesFirewallDriver(firewall.IptablesFirewallDriver):
def _provider_rules(self):
"""Generate a list of rules from provider for IP4 & IP6.
+
Note: We could not use the common code from virt.firewall because
- XS doesn't accept the '-m multiport' option"""
+ XS doesn't accept the '-m multiport' option.
+ """
ctxt = context.get_admin_context()
ipv4_rules = []
diff --git a/nova/virt/xenapi/host.py b/nova/virt/xenapi/host.py
index 258e4d145..eb79cde6c 100644
--- a/nova/virt/xenapi/host.py
+++ b/nova/virt/xenapi/host.py
@@ -23,6 +23,7 @@ from nova.compute import task_states
from nova.compute import vm_states
from nova import context
from nova import exception
+from nova.objects import instance as instance_obj
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova.virt.xenapi import pool_states
@@ -48,7 +49,8 @@ class Host(object):
def host_maintenance_mode(self, host, mode):
"""Start/Stop host maintenance window. On start, it triggers
- guest VMs evacuation."""
+ guest VMs evacuation.
+ """
if not mode:
return 'off_maintenance'
host_list = [host_ref for host_ref in
@@ -63,15 +65,15 @@ class Host(object):
uuid = vm_rec['other_config'].get('nova_uuid')
if not uuid:
name = vm_rec['name_label']
- uuid = _uuid_find(self._virtapi, ctxt, host, name)
+ uuid = _uuid_find(ctxt, host, name)
if not uuid:
- msg = _('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')
- LOG.info(msg % locals())
+ LOG.info(_('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'),
+ {'name': name, 'host': host})
continue
- instance = self._virtapi.instance_get_by_uuid(ctxt, uuid)
+ instance = instance_obj.Instance.get_by_uuid(ctxt, uuid)
vm_counter = vm_counter + 1
aggregate = self._virtapi.aggregate_get_by_host(
@@ -83,27 +85,25 @@ class Host(object):
dest = _host_find(ctxt, self._session, aggregate[0],
host_ref)
- self._virtapi.instance_update(
- ctxt, instance['uuid'],
- {'host': dest,
- 'task_state': task_states.MIGRATING})
+ instance.host = dest
+ instance.task_state = task_states.MIGRATING
+ instance.save()
self._session.call_xenapi('VM.pool_migrate',
vm_ref, host_ref, {})
migrations_counter = migrations_counter + 1
- self._virtapi.instance_update(
- ctxt, instance['uuid'],
- {'vm_state': vm_states.ACTIVE})
+ instance.vm_state = vm_states.ACTIVE
+ instance.save()
break
except self._session.XenAPI.Failure:
- LOG.exception(_('Unable to migrate VM %(vm_ref)s'
- 'from %(host)s') % locals())
- self._virtapi.instance_update(
- ctxt, instance['uuid'],
- {'host': host,
- 'vm_state': vm_states.ACTIVE})
+ LOG.exception(_('Unable to migrate VM %(vm_ref)s '
+ 'from %(host)s'),
+ {'vm_ref': vm_ref, 'host': host})
+ instance.host = host
+ instance.vm_state = vm_states.ACTIVE
+ instance.save()
if vm_counter == migrations_counter:
return 'on_maintenance'
@@ -203,15 +203,15 @@ def call_xenhost(session, method, arg_dict):
return None
except session.XenAPI.Failure as e:
LOG.error(_("The call to %(method)s returned "
- "an error: %(e)s.") % locals())
+ "an error: %(e)s."), {'method': method, 'e': e})
return e.details[1]
-def _uuid_find(virtapi, context, host, name_label):
+def _uuid_find(context, host, name_label):
"""Return instance uuid by name_label."""
- for i in virtapi.instance_get_all_by_host(context, host):
+ for i in instance_obj.InstanceList.get_by_host(context, host):
if i.name == name_label:
- return i['uuid']
+ return i.uuid
return None
diff --git a/nova/virt/xenapi/imageupload/glance.py b/nova/virt/xenapi/imageupload/glance.py
index b9b96d9a8..cd32c798e 100644
--- a/nova/virt/xenapi/imageupload/glance.py
+++ b/nova/virt/xenapi/imageupload/glance.py
@@ -70,7 +70,12 @@ class GlanceStore(object):
" ID %(image_id)s"
" glance server: %(glance_host)s:%(glance_port)d"
" attempt %(attempt_num)d/%(max_attempts)d"),
- locals(), instance=instance)
+ {'vdi_uuids': vdi_uuids,
+ 'image_id': image_id,
+ 'glance_host': glance_host,
+ 'glance_port': glance_port,
+ 'attempt_num': attempt_num,
+ 'max_attempts': max_attempts}, instance=instance)
return session.call_plugin_serialized('glance',
'upload_vhd',
diff --git a/nova/virt/xenapi/pool.py b/nova/virt/xenapi/pool.py
index 5080d8308..700b5f36a 100644
--- a/nova/virt/xenapi/pool.py
+++ b/nova/virt/xenapi/pool.py
@@ -67,9 +67,9 @@ class ResourcePool(object):
metadata)
op(context, aggregate, host)
except Exception:
- aggregate_id = aggregate['id']
LOG.exception(_('Aggregate %(aggregate_id)s: unrecoverable state '
- 'during operation on %(host)s') % locals())
+ 'during operation on %(host)s'),
+ {'aggregate_id': aggregate['id'], 'host': host})
def add_to_aggregate(self, context, aggregate, host, slave_info=None):
"""Add a compute host to an aggregate."""
@@ -155,9 +155,9 @@ class ResourcePool(object):
raise exception.InvalidAggregateAction(
aggregate_id=aggregate['id'],
action='remove_from_aggregate',
- reason=_('Unable to eject %(host)s '
+ reason=_('Unable to eject %s '
'from the pool; pool not empty')
- % locals())
+ % host)
self._clear_pool(aggregate['id'])
for key in ['master_compute', host]:
self._virtapi.aggregate_metadata_delete(context,
@@ -172,9 +172,9 @@ class ResourcePool(object):
# this shouldn't have happened
raise exception.AggregateError(aggregate_id=aggregate['id'],
action='remove_from_aggregate',
- reason=_('Unable to eject %(host)s '
+ reason=_('Unable to eject %s '
'from the pool; No master found')
- % locals())
+ % host)
def _join_slave(self, aggregate_id, host, compute_uuid, url, user, passwd):
"""Joins a slave into a XenServer resource pool."""
@@ -189,11 +189,11 @@ class ResourcePool(object):
'master_pass': CONF.xenapi_connection_password, }
self._session.call_plugin('xenhost', 'host_join', args)
except self._session.XenAPI.Failure as e:
- LOG.error(_("Pool-Join failed: %(e)s") % locals())
+ LOG.error(_("Pool-Join failed: %s"), e)
raise exception.AggregateError(aggregate_id=aggregate_id,
action='add_to_aggregate',
- reason=_('Unable to join %(host)s '
- 'in the pool') % locals())
+ reason=_('Unable to join %s '
+ 'in the pool') % host)
def _eject_slave(self, aggregate_id, compute_uuid, host_uuid):
"""Eject a slave from a XenServer resource pool."""
@@ -208,7 +208,7 @@ class ResourcePool(object):
host_ref = self._session.call_xenapi('host.get_by_uuid', host_uuid)
self._session.call_xenapi("pool.eject", host_ref)
except self._session.XenAPI.Failure as e:
- LOG.error(_("Pool-eject failed: %(e)s") % locals())
+ LOG.error(_("Pool-eject failed: %s"), e)
raise exception.AggregateError(aggregate_id=aggregate_id,
action='remove_from_aggregate',
reason=str(e.details))
@@ -220,7 +220,7 @@ class ResourcePool(object):
self._session.call_xenapi("pool.set_name_label",
pool_ref, aggregate_name)
except self._session.XenAPI.Failure as e:
- LOG.error(_("Unable to set up pool: %(e)s.") % locals())
+ LOG.error(_("Unable to set up pool: %s."), e)
raise exception.AggregateError(aggregate_id=aggregate_id,
action='add_to_aggregate',
reason=str(e.details))
@@ -231,7 +231,7 @@ class ResourcePool(object):
pool_ref = self._session.call_xenapi('pool.get_all')[0]
self._session.call_xenapi('pool.set_name_label', pool_ref, '')
except self._session.XenAPI.Failure as e:
- LOG.error(_("Pool-set_name_label failed: %(e)s") % locals())
+ LOG.error(_("Pool-set_name_label failed: %s"), e)
raise exception.AggregateError(aggregate_id=aggregate_id,
action='remove_from_aggregate',
reason=str(e.details))
diff --git a/nova/virt/xenapi/vif.py b/nova/virt/xenapi/vif.py
index ed068c23f..1155ad8b3 100644
--- a/nova/virt/xenapi/vif.py
+++ b/nova/virt/xenapi/vif.py
@@ -117,10 +117,13 @@ class XenAPIBridgeDriver(XenVIFDriver):
pif_vlan = int(pif_rec['VLAN'])
# Raise an exception if VLAN != vlan_num
if pif_vlan != vlan_num:
- raise Exception(_(
- "PIF %(pif_rec['uuid'])s for network "
- "%(bridge)s has VLAN id %(pif_vlan)d. "
- "Expected %(vlan_num)d") % locals())
+ raise Exception(_("PIF %(pif_uuid)s for network "
+ "%(bridge)s has VLAN id %(pif_vlan)d. "
+ "Expected %(vlan_num)d"),
+ {'pif_uuid': pif_rec['uuid'],
+ 'bridge': bridge,
+ 'pif_vlan': pif_vlan,
+ 'vlan_num': vlan_num})
return network_ref
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index 0c54dc1dd..ac8c9c58b 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -213,7 +213,7 @@ def create_vm(session, instance, name_label, kernel, ramdisk,
3. Using hardware virtualization
"""
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
mem = str(long(instance_type['memory_mb']) * 1024 * 1024)
vcpus = str(instance_type['vcpus'])
@@ -326,7 +326,7 @@ def is_vm_shutdown(session, vm_ref):
def ensure_free_mem(session, instance):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
mem = long(instance_type['memory_mb']) * 1024 * 1024
host = session.get_xenapi_host()
host_free_mem = long(session.call_xenapi("host.compute_free_memory",
@@ -367,7 +367,9 @@ def unplug_vbd(session, vbd_ref):
return
elif err == 'DEVICE_DETACH_REJECTED':
LOG.info(_('VBD %(vbd_ref)s detach rejected, attempt'
- ' %(num_attempt)d/%(max_attempts)d'), locals())
+ ' %(num_attempt)d/%(max_attempts)d'),
+ {'vbd_ref': vbd_ref, 'num_attempt': num_attempt,
+ 'max_attempts': max_attempts})
else:
LOG.exception(exc)
raise volume_utils.StorageError(
@@ -410,15 +412,17 @@ def create_vbd(session, vm_ref, vdi_ref, userdevice, vbd_type='disk',
vbd_rec['qos_algorithm_params'] = {}
vbd_rec['qos_supported_algorithms'] = []
LOG.debug(_('Creating %(vbd_type)s-type VBD for VM %(vm_ref)s,'
- ' VDI %(vdi_ref)s ... '), locals())
+ ' VDI %(vdi_ref)s ... '),
+ {'vbd_type': vbd_type, 'vm_ref': vm_ref, 'vdi_ref': vdi_ref})
vbd_ref = session.call_xenapi('VBD.create', vbd_rec)
LOG.debug(_('Created VBD %(vbd_ref)s for VM %(vm_ref)s,'
- ' VDI %(vdi_ref)s.'), locals())
+ ' VDI %(vdi_ref)s.'),
+ {'vbd_ref': vbd_ref, 'vm_ref': vm_ref, 'vdi_ref': vdi_ref})
if osvol:
# set osvol=True in other-config to indicate this is an
# attached nova (or cinder) volume
- session.call_xenapi("VBD.add_to_other_config",
- vbd_ref, 'osvol', "True")
+ session.call_xenapi('VBD.add_to_other_config',
+ vbd_ref, 'osvol', 'True')
return vbd_ref
@@ -467,7 +471,9 @@ def create_vdi(session, sr_ref, instance, name_label, disk_type, virtual_size,
'tags': []})
LOG.debug(_('Created VDI %(vdi_ref)s (%(name_label)s,'
' %(virtual_size)s, %(read_only)s) on %(sr_ref)s.'),
- locals())
+ {'vdi_ref': vdi_ref, 'name_label': name_label,
+ 'virtual_size': virtual_size, 'read_only': read_only,
+ 'sr_ref': sr_ref})
return vdi_ref
@@ -591,7 +597,8 @@ def _clone_vdi(session, vdi_to_clone_ref):
"""Clones a VDI and return the new VDIs reference."""
vdi_ref = session.call_xenapi('VDI.clone', vdi_to_clone_ref)
LOG.debug(_('Cloned VDI %(vdi_ref)s from VDI '
- '%(vdi_to_clone_ref)s') % locals())
+ '%(vdi_to_clone_ref)s'),
+ {'vdi_ref': vdi_ref, 'vdi_to_clone_ref': vdi_to_clone_ref})
return vdi_ref
@@ -635,8 +642,7 @@ def get_vdi_for_vm_safely(session, vm_ref):
if vbd_rec['userdevice'] == '0':
vdi_rec = session.call_xenapi("VDI.get_record", vbd_rec['VDI'])
return vbd_rec['VDI'], vdi_rec
- raise exception.NovaException(_("No primary VDI found for %(vm_ref)s")
- % locals())
+ raise exception.NovaException(_("No primary VDI found for %s") % vm_ref)
@contextlib.contextmanager
@@ -758,7 +764,7 @@ def resize_disk(session, instance, vdi_ref, instance_type):
try:
# Resize partition and filesystem down
- auto_configure_disk(session, copy_ref, instance_type['root_gb'])
+ _auto_configure_disk(session, copy_ref, instance_type['root_gb'])
# Create new VDI
vdi_size = instance_type['root_gb'] * 1024 * 1024 * 1024
@@ -778,7 +784,7 @@ def resize_disk(session, instance, vdi_ref, instance_type):
destroy_vdi(session, copy_ref)
-def auto_configure_disk(session, vdi_ref, new_gb):
+def _auto_configure_disk(session, vdi_ref, new_gb):
"""Partition and resize FS to match the size specified by
flavors.root_gb.
@@ -798,12 +804,25 @@ def auto_configure_disk(session, vdi_ref, new_gb):
partitions = _get_partitions(dev)
if len(partitions) != 1:
- return
+ reason = _('Disk must have only one partition.')
+ raise exception.CannotResizeDisk(reason=reason)
_num, start, old_sectors, ptype = partitions[0]
if ptype in ('ext3', 'ext4'):
new_sectors = new_gb * 1024 * 1024 * 1024 / SECTOR_SIZE
_resize_part_and_fs(dev, start, old_sectors, new_sectors)
+ else:
+ reason = _('Disk contains a filesystem '
+ 'we are unable to resize: %s')
+ raise exception.CannotResizeDisk(reason=(reason % ptype))
+
+
+def try_auto_configure_disk(session, vdi_ref, new_gb):
+ try:
+ _auto_configure_disk(session, vdi_ref, new_gb)
+ except exception.CannotResizeDisk as e:
+ msg = _('Attempted auto_configure_disk failed because: %s')
+ LOG.warn(msg % e)
def _generate_disk(session, instance, vm_ref, userdevice, name_label,
@@ -953,8 +972,7 @@ def _create_cached_image(context, session, instance, name_label,
if CONF.use_cow_images and sr_type != "ext":
LOG.warning(_("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.")
- % locals())
+ "type %s. Ignoring the cow flag."), sr_type)
cache_vdi_ref = _find_cached_image(session, image_id, sr_ref)
if cache_vdi_ref is None:
@@ -999,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:
@@ -1043,7 +1061,8 @@ def _fetch_image(context, session, instance, name_label, image_id, image_type):
vdi_uuid = vdi['uuid']
LOG.debug(_("Fetched VDIs of type '%(vdi_type)s' with UUID"
" '%(vdi_uuid)s'"),
- locals(), instance=instance)
+ {'vdi_type': vdi_type, 'vdi_uuid': vdi_uuid},
+ instance=instance)
return vdis
@@ -1053,9 +1072,10 @@ def _fetch_using_dom0_plugin_with_retry(context, session, image_id,
max_attempts = CONF.glance_num_retries + 1
sleep_time = 0.5
for attempt_num in xrange(1, max_attempts + 1):
- LOG.info(_('download_vhd %(image_id)s, '
- 'attempt %(attempt_num)d/%(max_attempts)d, '
- 'params: %(params)s') % locals())
+ LOG.info(_('download_vhd %(image_id)s, attempt '
+ '%(attempt_num)d/%(max_attempts)d, params: %(params)s'),
+ {'image_id': image_id, 'attempt_num': attempt_num,
+ 'max_attempts': max_attempts, 'params': params})
try:
if callback:
@@ -1092,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'])
@@ -1112,7 +1132,7 @@ def _fetch_vhd_image(context, session, instance, image_id):
Returns: A list of dictionaries that describe VDIs
"""
- LOG.debug(_("Asking xapi to fetch vhd image %(image_id)s"), locals(),
+ LOG.debug(_("Asking xapi to fetch vhd image %s"), image_id,
instance=instance)
params = {'image_id': image_id,
@@ -1188,13 +1208,15 @@ def _get_vdi_chain_size(session, vdi_uuid):
cur_vdi_uuid = vdi_rec['uuid']
vdi_size_bytes = int(vdi_rec['physical_utilisation'])
LOG.debug(_('vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes='
- '%(vdi_size_bytes)d'), locals())
+ '%(vdi_size_bytes)d'),
+ {'cur_vdi_uuid': cur_vdi_uuid,
+ 'vdi_size_bytes': vdi_size_bytes})
size_bytes += vdi_size_bytes
return size_bytes
def _check_vdi_size(context, session, instance, vdi_uuid):
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
allowed_size = instance_type['root_gb'] * (1024 ** 3)
if not allowed_size:
@@ -1228,7 +1250,8 @@ def _fetch_disk_image(context, session, instance, name_label, image_id,
# DISK restores
image_type_str = ImageType.to_string(image_type)
LOG.debug(_("Fetching image %(image_id)s, type %(image_type_str)s"),
- locals(), instance=instance)
+ {'image_id': image_id, 'image_type_str': image_type_str},
+ instance=instance)
if image_type == ImageType.DISK_ISO:
sr_ref = _safe_find_iso_sr(session)
@@ -1240,7 +1263,8 @@ def _fetch_disk_image(context, session, instance, name_label, image_id,
meta = image_service.show(context, image_id)
virtual_size = int(meta['size'])
vdi_size = virtual_size
- LOG.debug(_("Size for image %(image_id)s: %(virtual_size)d"), locals(),
+ LOG.debug(_("Size for image %(image_id)s: %(virtual_size)d"),
+ {'image_id': image_id, 'virtual_size': virtual_size},
instance=instance)
if image_type == ImageType.DISK:
# Make room for MBR.
@@ -1250,7 +1274,8 @@ def _fetch_disk_image(context, session, instance, name_label, image_id,
max_size = CONF.max_kernel_ramdisk_size
raise exception.NovaException(
_("Kernel/Ramdisk image is too large: %(vdi_size)d bytes, "
- "max %(max_size)d bytes") % locals())
+ "max %(max_size)d bytes") %
+ {'vdi_size': vdi_size, 'max_size': max_size})
vdi_ref = create_vdi(session, sr_ref, instance, name_label,
image_type_str, vdi_size)
@@ -1332,8 +1357,8 @@ def determine_disk_image_type(image_meta):
image_type = getattr(ImageType, image_type_str)
image_ref = image_meta['id']
- msg = _("Detected %(image_type_str)s format for image %(image_ref)s")
- LOG.debug(msg % locals())
+ LOG.debug(_("Detected %(image_type_str)s format for image %(image_ref)s"),
+ {'image_type_str': image_type_str, 'image_ref': image_ref})
return image_type
@@ -1387,8 +1412,8 @@ def determine_is_pv(session, vdi_ref, disk_image_type, os_type):
with vdi_attached_here(session, vdi_ref, read_only=True) as dev:
is_pv = _is_vdi_pv(dev)
else:
- msg = _("Unknown image format %(disk_image_type)s") % locals()
- raise exception.NovaException(msg)
+ raise exception.NovaException(_("Unknown image format %s") %
+ disk_image_type)
return is_pv
@@ -1521,7 +1546,7 @@ def compile_diagnostics(record):
return diags
except expat.ExpatError as e:
- LOG.exception(_('Unable to parse rrd of %(vm_uuid)s') % locals())
+ LOG.exception(_('Unable to parse rrd of %s'), e)
return {"Unable to retrieve diagnostics": e}
@@ -1534,7 +1559,8 @@ def compile_metrics(start_time, stop_time=None):
"""Compile bandwidth usage, cpu, and disk metrics for all VMs on
this host.
Note that some stats, like bandwidth, do not seem to be very
- accurate in some of the data from XenServer (mdragon). """
+ accurate in some of the data from XenServer (mdragon).
+ """
start_time = int(start_time)
xml = _get_rrd_updates(_get_rrd_server(), start_time)
@@ -1615,7 +1641,7 @@ def _find_iso_sr(session):
"""Return the storage repository to hold ISO images."""
host = session.get_xenapi_host()
for sr_ref, sr_rec in session.get_all_refs_and_recs('SR'):
- LOG.debug(_("ISO: looking at SR %(sr_rec)s") % locals())
+ LOG.debug(_("ISO: looking at SR %s"), sr_rec)
if not sr_rec['content_type'] == 'iso':
LOG.debug(_("ISO: not iso content"))
continue
@@ -1632,11 +1658,11 @@ def _find_iso_sr(session):
LOG.debug(_("ISO: ISO, looking to see if it is host local"))
pbd_rec = session.get_rec('PBD', pbd_ref)
if not pbd_rec:
- LOG.debug(_("ISO: PBD %(pbd_ref)s disappeared") % locals())
+ LOG.debug(_("ISO: PBD %s disappeared"), pbd_ref)
continue
pbd_rec_host = pbd_rec['host']
- LOG.debug(_("ISO: PBD matching, want %(pbd_rec)s, "
- "have %(host)s") % locals())
+ LOG.debug(_("ISO: PBD matching, want %(pbd_rec)s, have %(host)s"),
+ {'pbd_rec': pbd_rec, 'host': host})
if pbd_rec_host == host:
LOG.debug(_("ISO: SR with local PBD"))
return sr_ref
@@ -1661,7 +1687,8 @@ def _get_rrd(server, vm_uuid):
return xml.read()
except IOError:
LOG.exception(_('Unable to obtain RRD XML for VM %(vm_uuid)s with '
- 'server details: %(server)s.') % locals())
+ 'server details: %(server)s.'),
+ {'vm_uuid': vm_uuid, 'server': server})
return None
@@ -1677,7 +1704,7 @@ def _get_rrd_updates(server, start_time):
return xml.read()
except IOError:
LOG.exception(_('Unable to obtain RRD XML updates with '
- 'server details: %(server)s.') % locals())
+ 'server details: %s.'), server)
return None
@@ -1790,7 +1817,8 @@ def _get_vhd_parent_uuid(session, vdi_ref):
parent_uuid = vdi_rec['sm_config']['vhd-parent']
vdi_uuid = vdi_rec['uuid']
- LOG.debug(_("VHD %(vdi_uuid)s has parent %(parent_uuid)s") % locals())
+ LOG.debug(_('VHD %(vdi_uuid)s has parent %(parent_uuid)s'),
+ {'vdi_uuid': vdi_uuid, 'parent_uuid': parent_uuid})
return parent_uuid
@@ -1879,7 +1907,9 @@ def _wait_for_vhd_coalesce(session, instance, sr_ref, vdi_ref,
if original_parent_uuid and (parent_uuid != original_parent_uuid):
LOG.debug(_("Parent %(parent_uuid)s doesn't match original parent"
" %(original_parent_uuid)s, waiting for coalesce..."),
- locals(), instance=instance)
+ {'parent_uuid': parent_uuid,
+ 'original_parent_uuid': original_parent_uuid},
+ instance=instance)
else:
parent_ref = session.call_xenapi("VDI.get_by_uuid", parent_uuid)
base_uuid = _get_vhd_parent_uuid(session, parent_ref)
@@ -1887,8 +1917,8 @@ def _wait_for_vhd_coalesce(session, instance, sr_ref, vdi_ref,
greenthread.sleep(CONF.xenapi_vhd_coalesce_poll_interval)
- msg = (_("VHD coalesce attempts exceeded (%(max_attempts)d)"
- ", giving up...") % locals())
+ msg = (_("VHD coalesce attempts exceeded (%d)"
+ ", giving up...") % max_attempts)
raise exception.NovaException(msg)
@@ -1960,11 +1990,13 @@ def vdi_attached_here(session, vdi_ref, read_only=False):
try:
LOG.debug(_('Plugging VBD %s done.'), vbd_ref)
orig_dev = session.call_xenapi("VBD.get_device", vbd_ref)
- LOG.debug(_('VBD %(vbd_ref)s plugged as %(orig_dev)s') % locals())
+ LOG.debug(_('VBD %(vbd_ref)s plugged as %(orig_dev)s'),
+ {'vbd_ref': vbd_ref, 'orig_dev': orig_dev})
dev = _remap_vbd_dev(orig_dev)
if dev != orig_dev:
LOG.debug(_('VBD %(vbd_ref)s plugged into wrong dev, '
- 'remapping to %(dev)s') % locals())
+ 'remapping to %(dev)s'),
+ {'vbd_ref': vbd_ref, 'dev': dev})
_wait_for_device(dev)
yield dev
finally:
@@ -2038,7 +2070,8 @@ def _get_partitions(dev):
start = int(start.rstrip('s'))
end = int(end.rstrip('s'))
size = int(size.rstrip('s'))
- LOG.debug(_(" %(num)s: %(ptype)s %(size)d sectors") % locals())
+ LOG.debug(_(" %(num)s: %(ptype)s %(size)d sectors"),
+ {'num': num, 'ptype': ptype, 'size': size})
partitions.append((num, start, size, ptype))
return partitions
@@ -2064,7 +2097,9 @@ def _write_partition(virtual_size, dev):
primary_last = MBR_SIZE_SECTORS + (virtual_size / SECTOR_SIZE) - 1
LOG.debug(_('Writing partition table %(primary_first)d %(primary_last)d'
- ' to %(dev_path)s...'), locals())
+ ' to %(dev_path)s...'),
+ {'primary_first': primary_first, 'primary_last': primary_last,
+ 'dev_path': dev_path})
def execute(*cmd, **kwargs):
return utils.execute(*cmd, **kwargs)
@@ -2117,10 +2152,11 @@ def _resize_part_and_fs(dev, start, old_sectors, new_sectors):
# Resizing down, resize filesystem before partition resize
min_sectors = _get_min_sectors(partition_path)
if min_sectors >= new_sectors:
- reason = _('Resize down not allowed because minimum '
+ reason = (_('Resize down not allowed because minimum '
'filesystem sectors %(min_sectors)d is too big '
- 'for target sectors %(new_sectors)d')
- raise exception.ResizeError(reason=(reason % locals()))
+ 'for target sectors %(new_sectors)d') %
+ {'min_sectors': min_sectors, 'new_sectors': new_sectors})
+ raise exception.ResizeError(reason=reason)
utils.execute('resize2fs', partition_path, '%ds' % size,
run_as_root=True)
@@ -2161,7 +2197,8 @@ def _sparse_copy(src_path, dst_path, virtual_size, block_size=4096):
LOG.debug(_("Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"),
- locals())
+ {'src_path': src_path, 'dst_path': dst_path,
+ 'virtual_size': virtual_size, 'block_size': block_size})
# NOTE(sirp): we need read/write access to the devices; since we don't have
# the luxury of shelling out to a sudo'd command, we temporarily take
@@ -2195,7 +2232,8 @@ def _sparse_copy(src_path, dst_path, virtual_size, block_size=4096):
compression_pct = float(skipped_bytes) / bytes_read * 100
LOG.debug(_("Finished sparse_copy in %(duration).2f secs, "
- "%(compression_pct).2f%% reduction in size"), locals())
+ "%(compression_pct).2f%% reduction in size"),
+ {'duration': duration, 'compression_pct': compression_pct})
def _copy_partition(session, src_ref, dst_ref, partition, virtual_size):
@@ -2359,7 +2397,8 @@ def _prepare_injectables(inst, network_info):
def ensure_correct_host(session):
"""Ensure we're connected to the host we're running on. This is the
- required configuration for anything that uses vdi_attached_here."""
+ required configuration for anything that uses vdi_attached_here.
+ """
this_vm_uuid = get_this_vm_uuid()
try:
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index e178d08fd..80a4fb48a 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -19,9 +19,11 @@
Management class for VM-related functions (spawn, reboot, etc).
"""
+import base64
import functools
import itertools
import time
+import zlib
from eventlet import greenthread
import netaddr
@@ -136,8 +138,7 @@ def make_step_decorator(context, instance, instance_update):
step_info['current'] += 1
progress = round(float(step_info['current']) /
step_info['total'] * 100)
- LOG.debug(_("Updating progress to %(progress)d"), locals(),
- instance=instance)
+ LOG.debug(_("Updating progress to %d"), progress, instance=instance)
instance_update(context, instance['uuid'], {'progress': progress})
def step_decorator(f):
@@ -171,8 +172,8 @@ class VMOps(object):
self.vif_driver = vif_impl(xenapi_session=self._session)
self.default_root_dev = '/dev/sda'
- msg = _("Importing image upload handler: %s")
- LOG.debug(msg % CONF.xenapi_image_upload_handler)
+ LOG.debug(_("Importing image upload handler: %s"),
+ CONF.xenapi_image_upload_handler)
self.image_upload_handler = importutils.import_object(
CONF.xenapi_image_upload_handler)
@@ -508,11 +509,7 @@ class VMOps(object):
disk_image_type)
self._setup_vm_networking(instance, vm_ref, vdis, network_info,
rescue)
-
- # NOTE(mikal): file injection only happens if we are _not_ using a
- # configdrive.
- if not configdrive.required_by(instance):
- self.inject_instance_metadata(instance, vm_ref)
+ self.inject_instance_metadata(instance, vm_ref)
return vm_ref
@@ -577,7 +574,7 @@ class VMOps(object):
def _attach_disks(self, instance, vm_ref, name_label, vdis,
disk_image_type, admin_password=None, files=None):
ctx = nova_context.get_admin_context()
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
# Attach (required) root disk
if disk_image_type == vm_utils.ImageType.DISK_ISO:
@@ -596,9 +593,9 @@ class VMOps(object):
if instance['auto_disk_config']:
LOG.debug(_("Auto configuring disk, attempting to "
"resize partition..."), instance=instance)
- vm_utils.auto_configure_disk(self._session,
- root_vdi['ref'],
- instance_type['root_gb'])
+ vm_utils.try_auto_configure_disk(self._session,
+ root_vdi['ref'],
+ instance_type['root_gb'])
vm_utils.create_vbd(self._session, vm_ref, root_vdi['ref'],
DEVICE_ROOT, bootable=True,
@@ -702,7 +699,7 @@ class VMOps(object):
agent.resetnetwork()
# Set VCPU weight
- instance_type = flavors.extract_instance_type(instance)
+ instance_type = flavors.extract_flavor(instance)
vcpu_weight = instance_type['vcpu_weight']
if vcpu_weight is not None:
LOG.debug(_("Setting VCPU weight"), instance=instance)
@@ -779,7 +776,8 @@ class VMOps(object):
def _migrate_vhd(self, instance, vdi_uuid, dest, sr_path, seq_num):
LOG.debug(_("Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"),
- locals(), instance=instance)
+ {'vdi_uuid': vdi_uuid, 'seq_num': seq_num},
+ instance=instance)
instance_uuid = instance['uuid']
try:
self._session.call_plugin_serialized('migration', 'transfer_vhd',
@@ -805,7 +803,7 @@ class VMOps(object):
# better approximation would use the percentage of the VM image that
# has been streamed to the destination host.
progress = round(float(step) / total_steps * 100)
- LOG.debug(_("Updating progress to %(progress)d"), locals(),
+ LOG.debug(_("Updating progress to %d"), progress,
instance=instance)
self._virtapi.instance_update(context, instance['uuid'],
{'progress': progress})
@@ -824,10 +822,6 @@ class VMOps(object):
def _migrate_disk_resizing_down(self, context, instance, dest,
instance_type, vm_ref, sr_path):
- if not instance['auto_disk_config']:
- reason = _('Resize down not allowed without auto_disk_config')
- raise exception.ResizeError(reason=reason)
-
step = make_step_decorator(context, instance,
self._virtapi.instance_update)
@@ -878,9 +872,9 @@ class VMOps(object):
undo_mgr, old_vdi_ref)
transfer_vhd_to_dest(new_vdi_ref, new_vdi_uuid)
except Exception as error:
- msg = _("_migrate_disk_resizing_down failed. "
- "Restoring orig vm due_to: %{exception}.")
- LOG.exception(msg, instance=instance)
+ LOG.exception(_("_migrate_disk_resizing_down failed. "
+ "Restoring orig vm due_to: %s."), error,
+ instance=instance)
undo_mgr._rollback()
raise exception.InstanceFaultRollback(error)
@@ -995,7 +989,9 @@ class VMOps(object):
# Resize up. Simple VDI resize will do the trick
vdi_uuid = root_vdi['uuid']
LOG.debug(_("Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to "
- "%(new_gb)dGB"), locals(), instance=instance)
+ "%(new_gb)dGB"),
+ {'vdi_uuid': vdi_uuid, 'old_gb': old_gb,
+ 'new_gb': new_gb}, instance=instance)
resize_func_name = self.check_resize_func_name()
self._session.call_xenapi(resize_func_name, root_vdi['ref'],
str(new_disk_size))
@@ -1003,7 +999,8 @@ class VMOps(object):
def check_resize_func_name(self):
"""Check the function name used to resize an instance based
- on product_brand and product_version."""
+ on product_brand and product_version.
+ """
brand = self._session.product_brand
version = self._session.product_version
@@ -1097,6 +1094,7 @@ class VMOps(object):
def inject_instance_metadata(self, instance, vm_ref):
"""Inject instance metadata into xenstore."""
+ @utils.synchronized('xenstore-' + instance['uuid'])
def store_meta(topdir, data_list):
for item in data_list:
key = self._sanitize_xenstore_key(item['key'])
@@ -1110,9 +1108,8 @@ class VMOps(object):
def change_instance_metadata(self, instance, diff):
"""Apply changes to instance metadata to xenstore."""
vm_ref = self._get_vm_opaque_ref(instance)
- for key, change in diff.items():
- key = self._sanitize_xenstore_key(key)
- location = 'vm-data/user-metadata/%s' % key
+
+ def process_change(location, change):
if change[0] == '-':
self._remove_from_param_xenstore(vm_ref, location)
try:
@@ -1131,6 +1128,14 @@ class VMOps(object):
# catch KeyError for domid if instance isn't running
pass
+ @utils.synchronized('xenstore-' + instance['uuid'])
+ def update_meta():
+ for key, change in diff.items():
+ key = self._sanitize_xenstore_key(key)
+ location = 'vm-data/user-metadata/%s' % key
+ process_change(location, change)
+ update_meta()
+
def _find_root_vdi_ref(self, vm_ref):
"""Find and return the root vdi ref for a VM."""
if not vm_ref:
@@ -1406,7 +1411,8 @@ class VMOps(object):
def get_all_bw_counters(self):
"""Return running bandwidth counter for each interface on each
- running VM"""
+ running VM.
+ """
counters = vm_utils.fetch_bandwidth(self._session)
bw = {}
for vm_ref, vm_rec in vm_utils.list_vms(self._session):
@@ -1425,9 +1431,18 @@ class VMOps(object):
return bw
def get_console_output(self, instance):
- """Return snapshot of console."""
- # TODO(armando-migliaccio): implement this to fix pylint!
- return 'FAKE CONSOLE OUTPUT of instance'
+ """Return last few lines of instance console."""
+ dom_id = self._get_dom_id(instance, check_rescue=True)
+
+ try:
+ raw_console_data = self._session.call_plugin('console',
+ 'get_console_log', {'dom_id': dom_id})
+ except self._session.XenAPI.Failure as exc:
+ LOG.exception(exc)
+ msg = _("Guest does not have a console available")
+ raise exception.NovaException(msg)
+
+ return zlib.decompress(base64.b64decode(raw_console_data))
def get_vnc_console(self, instance):
"""Return connection info for a vnc console."""
@@ -1524,19 +1539,22 @@ class VMOps(object):
vm_ref = vm_ref or self._get_vm_opaque_ref(instance)
LOG.debug(_("Injecting network info to xenstore"), instance=instance)
- for vif in network_info:
- xs_data = self._vif_xenstore_data(vif)
- location = ('vm-data/networking/%s' %
- vif['address'].replace(':', ''))
- self._add_to_param_xenstore(vm_ref,
- location,
- jsonutils.dumps(xs_data))
- try:
- self._write_to_xenstore(instance, location, xs_data,
- vm_ref=vm_ref)
- except KeyError:
- # catch KeyError for domid if instance isn't running
- pass
+ @utils.synchronized('xenstore-' + instance['uuid'])
+ def update_nwinfo():
+ for vif in network_info:
+ xs_data = self._vif_xenstore_data(vif)
+ location = ('vm-data/networking/%s' %
+ vif['address'].replace(':', ''))
+ self._add_to_param_xenstore(vm_ref,
+ location,
+ jsonutils.dumps(xs_data))
+ try:
+ self._write_to_xenstore(instance, location, xs_data,
+ vm_ref=vm_ref)
+ except KeyError:
+ # catch KeyError for domid if instance isn't running
+ pass
+ update_nwinfo()
def _create_vifs(self, vm_ref, instance, network_info):
"""Creates vifs for an instance."""
@@ -1550,11 +1568,12 @@ class VMOps(object):
vif_rec = self.vif_driver.plug(instance, vif,
vm_ref=vm_ref, device=device)
network_ref = vif_rec['network']
- LOG.debug(_('Creating VIF for network %(network_ref)s'),
- locals(), instance=instance)
+ LOG.debug(_('Creating VIF for network %s'),
+ network_ref, instance=instance)
vif_ref = self._session.call_xenapi('VIF.create', vif_rec)
LOG.debug(_('Created VIF %(vif_ref)s, network %(network_ref)s'),
- locals(), instance=instance)
+ {'vif_ref': vif_ref, 'network_ref': network_ref},
+ instance=instance)
def plug_vifs(self, instance, network_info):
"""Set up VIF networking on the host."""
@@ -1611,9 +1630,7 @@ class VMOps(object):
"""
args = {}
if instance or vm_ref:
- vm_ref = vm_ref or self._get_vm_opaque_ref(instance)
- vm_rec = self._session.call_xenapi("VM.get_record", vm_ref)
- args['dom_id'] = vm_rec['domid']
+ args['dom_id'] = self._get_dom_id(instance, vm_ref)
args.update(addl_args)
try:
return self._session.call_plugin(plugin, method, args)
@@ -1621,19 +1638,27 @@ class VMOps(object):
err_msg = e.details[-1].splitlines()[-1]
if 'TIMEOUT:' in err_msg:
LOG.error(_('TIMEOUT: The call to %(method)s timed out. '
- 'args=%(args)r'), locals(), instance=instance)
+ 'args=%(args)r'),
+ {'method': method, 'args': args}, instance=instance)
return {'returncode': 'timeout', 'message': err_msg}
elif 'NOT IMPLEMENTED:' in err_msg:
LOG.error(_('NOT IMPLEMENTED: The call to %(method)s is not'
' supported by the agent. args=%(args)r'),
- locals(), instance=instance)
+ {'method': method, 'args': args}, instance=instance)
return {'returncode': 'notimplemented', 'message': err_msg}
else:
LOG.error(_('The call to %(method)s returned an error: %(e)s. '
- 'args=%(args)r'), locals(), instance=instance)
+ 'args=%(args)r'),
+ {'method': method, 'args': args, 'e': e},
+ instance=instance)
return {'returncode': 'error', 'message': err_msg}
return None
+ def _get_dom_id(self, instance=None, vm_ref=None, check_rescue=False):
+ vm_ref = vm_ref or self._get_vm_opaque_ref(instance, check_rescue)
+ vm_rec = self._session.call_xenapi("VM.get_record", vm_ref)
+ return vm_rec['domid']
+
def _add_to_param_xenstore(self, vm_ref, key, val):
"""
Takes a key/value pair and adds it to the xenstore parameter
@@ -1679,9 +1704,9 @@ class VMOps(object):
try:
return current_aggregate.metadetails[hostname]
except KeyError:
- reason = _('Destination host:%(hostname)s must be in the same '
- 'aggregate as the source server')
- raise exception.MigrationPreCheckError(reason=reason % locals())
+ reason = _('Destination host:%s must be in the same '
+ 'aggregate as the source server') % hostname
+ raise exception.MigrationPreCheckError(reason=reason)
def _ensure_host_in_aggregate(self, context, hostname):
self._get_host_uuid_from_aggregate(context, hostname)
diff --git a/nova/virt/xenapi/volume_utils.py b/nova/virt/xenapi/volume_utils.py
index 2913085c1..7a0b4a67e 100644
--- a/nova/virt/xenapi/volume_utils.py
+++ b/nova/virt/xenapi/volume_utils.py
@@ -48,7 +48,7 @@ def _handle_sr_params(params):
def create_sr(session, label, params):
- LOG.debug(_('Creating SR %(label)s') % locals())
+ LOG.debug(_('Creating SR %s'), label)
sr_type, sr_desc = _handle_sr_params(params)
sr_ref = session.call_xenapi("SR.create",
session.get_xenapi_host(),
@@ -58,7 +58,7 @@ def create_sr(session, label, params):
def introduce_sr(session, sr_uuid, label, params):
- LOG.debug(_('Introducing SR %(label)s') % locals())
+ LOG.debug(_('Introducing SR %s'), label)
sr_type, sr_desc = _handle_sr_params(params)
@@ -119,7 +119,7 @@ def unplug_pbds(session, sr_ref):
pbds = session.call_xenapi("SR.get_PBDs", sr_ref)
except session.XenAPI.Failure as exc:
LOG.warn(_('Ignoring exception %(exc)s when getting PBDs'
- ' for %(sr_ref)s') % locals())
+ ' for %(sr_ref)s'), {'exc': exc, 'sr_ref': sr_ref})
return
for pbd in pbds:
@@ -127,7 +127,7 @@ def unplug_pbds(session, sr_ref):
session.call_xenapi("PBD.unplug", pbd)
except session.XenAPI.Failure as exc:
LOG.warn(_('Ignoring exception %(exc)s when unplugging'
- ' PBD %(pbd)s') % locals())
+ ' PBD %(pbd)s'), {'exc': exc, 'pbd': pbd})
def introduce_vdi(session, sr_ref, vdi_uuid=None, target_lun=None):
@@ -199,8 +199,8 @@ def purge_sr(session, sr_ref):
def get_device_number(mountpoint):
device_number = mountpoint_to_number(mountpoint)
if device_number < 0:
- raise StorageError(_('Unable to obtain target information'
- ' %(mountpoint)s') % locals())
+ raise StorageError(_('Unable to obtain target information %s') %
+ mountpoint)
return device_number
@@ -234,12 +234,12 @@ def parse_volume_info(connection_data):
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)
+ (volume_id, target_host, target_port, target_iqn))
if (volume_id is None or
target_host is None or
target_iqn is None):
raise StorageError(_('Unable to obtain target information'
- ' %(connection_data)s') % locals())
+ ' %s') % connection_data)
volume_info = {}
volume_info['id'] = volume_id
volume_info['target'] = target_host
diff --git a/nova/virt/xenapi/volumeops.py b/nova/virt/xenapi/volumeops.py
index 3560edbc1..2274d49e5 100644
--- a/nova/virt/xenapi/volumeops.py
+++ b/nova/virt/xenapi/volumeops.py
@@ -44,8 +44,11 @@ class VolumeOps(object):
"""
# NOTE: No Resource Pool concept so far
- LOG.debug(_("Attach_volume: %(connection_info)s, %(instance_name)s,"
- " %(mountpoint)s") % locals())
+ LOG.debug(_('Attach_volume: %(connection_info)s, %(instance_name)s,'
+ '" %(mountpoint)s'),
+ {'connection_info': connection_info,
+ 'instance_name': instance_name,
+ 'mountpoint': mountpoint})
dev_number = volume_utils.get_device_number(mountpoint)
vm_ref = vm_utils.vm_ref_or_raise(self._session, instance_name)
@@ -55,7 +58,8 @@ class VolumeOps(object):
hotplug=hotplug)
LOG.info(_('Mountpoint %(mountpoint)s attached to'
- ' instance %(instance_name)s') % locals())
+ ' instance %(instance_name)s'),
+ {'instance_name': instance_name, 'mountpoint': mountpoint})
return (sr_uuid, vdi_uuid)
@@ -67,7 +71,7 @@ class VolumeOps(object):
"""
# NOTE: No Resource Pool concept so far
- LOG.debug(_("Connect_volume: %(connection_info)s") % locals())
+ LOG.debug(_("Connect_volume: %s"), connection_info)
sr_uuid, vdi_uuid = self._connect_volume(connection_info,
None, None, None, False)
@@ -125,8 +129,8 @@ class VolumeOps(object):
def detach_volume(self, connection_info, instance_name, mountpoint):
"""Detach volume storage to VM instance."""
- LOG.debug(_("Detach_volume: %(instance_name)s, %(mountpoint)s")
- % locals())
+ LOG.debug(_("Detach_volume: %(instance_name)s, %(mountpoint)s"),
+ {'instance_name': instance_name, 'mountpoint': mountpoint})
device_number = volume_utils.get_device_number(mountpoint)
vm_ref = vm_utils.vm_ref_or_raise(self._session, instance_name)
@@ -136,8 +140,8 @@ class VolumeOps(object):
except volume_utils.StorageError:
# NOTE(sirp): If we don't find the VBD then it must have been
# detached previously.
- LOG.warn(_('Skipping detach because VBD for %(instance_name)s was'
- ' not found') % locals())
+ LOG.warn(_('Skipping detach because VBD for %s was'
+ ' not found'), instance_name)
return
# Unplug VBD if we're NOT shutdown
@@ -145,7 +149,8 @@ class VolumeOps(object):
self._detach_vbd(vbd_ref, unplug=unplug)
LOG.info(_('Mountpoint %(mountpoint)s detached from instance'
- ' %(instance_name)s') % locals())
+ ' %(instance_name)s'),
+ {'instance_name': instance_name, 'mountpoint': mountpoint})
def _get_all_volume_vbd_refs(self, vm_ref):
"""Return VBD refs for all Nova/Cinder volumes."""
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 297029dc1..9edac2d2e 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -2,6 +2,7 @@
# The list of modules to copy from oslo-incubator.git
module=cliutils
+module=config
module=context
module=db
module=db.sqlalchemy
@@ -23,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/contrib/rpmbuild/SPECS/openstack-xen-plugins.spec b/plugins/xenserver/xenapi/contrib/rpmbuild/SPECS/openstack-xen-plugins.spec
index b93c7b071..85c2d1c05 100644
--- a/plugins/xenserver/xenapi/contrib/rpmbuild/SPECS/openstack-xen-plugins.spec
+++ b/plugins/xenserver/xenapi/contrib/rpmbuild/SPECS/openstack-xen-plugins.spec
@@ -32,6 +32,7 @@ rm -rf $RPM_BUILD_ROOT
/etc/xapi.d/plugins/bandwidth
/etc/xapi.d/plugins/bittorrent
/etc/xapi.d/plugins/config_file
+/etc/xapi.d/plugins/console
/etc/xapi.d/plugins/glance
/etc/xapi.d/plugins/kernel
/etc/xapi.d/plugins/migration
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/console b/plugins/xenserver/xenapi/etc/xapi.d/plugins/console
new file mode 100755
index 000000000..afcb783f7
--- /dev/null
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/console
@@ -0,0 +1,80 @@
+#!/usr/bin/python
+# 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.
+
+"""
+To configure this plugin, you must set the following xenstore key:
+/local/logconsole/@ = "/var/log/xen/guest/console.%d"
+
+This can be done by running:
+xenstore-write /local/logconsole/@ "/var/log/xen/guest/console.%d"
+
+WARNING:
+You should ensure appropriate log rotation to ensure
+guests are not able to consume too much Dom0 disk space,
+and equally should not be able to stop other guests from logging.
+Adding and removing the following xenstore key will reopen the log,
+as will be required after a log rotate:
+/local/logconsole/<dom_id>
+"""
+
+import base64
+import logging
+import os
+import zlib
+
+import XenAPIPlugin
+
+import pluginlib_nova
+pluginlib_nova.configure_logging("console")
+
+CONSOLE_LOG_DIR = '/var/log/xen/guest'
+CONSOLE_LOG_FILE_PATTERN = CONSOLE_LOG_DIR + '/console.%d'
+
+MAX_CONSOLE_BYTES = 102400
+SEEK_SET = 0
+SEEK_END = 2
+
+
+def _last_bytes(file_like_object):
+ try:
+ file_like_object.seek(-MAX_CONSOLE_BYTES, SEEK_END)
+ except IOError, e:
+ if e.errno == 22:
+ file_like_object.seek(0, SEEK_SET)
+ else:
+ raise
+ return file_like_object.read()
+
+
+def get_console_log(session, arg_dict):
+ try:
+ raw_dom_id = arg_dict['dom_id']
+ except KeyError:
+ raise pluginlib_nova.PluginError("Missing dom_id")
+ try:
+ dom_id = int(raw_dom_id)
+ except ValueError:
+ raise pluginlib_nova.PluginError("Invalid dom_id")
+
+ logfile = CONSOLE_LOG_FILE_PATTERN % dom_id
+ try:
+ log_content = pluginlib_nova.with_file(logfile, 'rb', _last_bytes)
+ except IOError, e:
+ msg = "Error reading console: %s" % e
+ logging.debug(msg)
+ raise pluginlib_nova.PluginError(msg)
+ return base64.b64encode(zlib.compress(log_content))
+
+
+if __name__ == "__main__":
+ XenAPIPlugin.dispatch({"get_console_log": get_console_log})
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 767045076..85c9514f0 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -54,7 +54,9 @@ console_scripts =
nova-xvpvncproxy = nova.cmd.xvpvncproxy:main
nova.api.v3.extensions =
+ 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
ips = nova.api.openstack.compute.plugins.v3.ips:IPs
diff --git a/setup.py b/setup.py
index 59a00909e..1e9882df0 100644
--- a/setup.py
+++ b/setup.py
@@ -17,5 +17,5 @@
import setuptools
setuptools.setup(
- setup_requires=['d2to1', 'pbr'],
+ setup_requires=['d2to1>=0.2.10,<0.3', 'pbr>=0.5,<0.6'],
d2to1=True)
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/test-requirements.txt b/test-requirements.txt
index 1bf372b69..ff9d2b4ff 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,6 +1,3 @@
-# Packages needed for dev testing
-distribute>=0.6.24
-
# Install bounded pep8/pyflakes first, then let flake8 install
pep8==1.4.5
pyflakes==0.7.2
diff --git a/tools/conf/analyze_opts.py b/tools/conf/analyze_opts.py
index 3088d6390..84294c9d3 100755
--- a/tools/conf/analyze_opts.py
+++ b/tools/conf/analyze_opts.py
@@ -44,8 +44,8 @@ class PropertyCollecter(iniparser.BaseParser):
def collect_properties(cls, lineiter, sample_format=False):
def clean_sample(f):
for line in f:
- if line.startswith("# ") and line != '# nova.conf sample #\n':
- line = line[2:]
+ if line.startswith("#") and not line.startswith("# "):
+ line = line[1:]
yield line
pc = cls()
if sample_format:
diff --git a/tools/conf/generate_sample.sh b/tools/conf/generate_sample.sh
index 283d7a654..44d4672b6 100755
--- a/tools/conf/generate_sample.sh
+++ b/tools/conf/generate_sample.sh
@@ -3,7 +3,6 @@
# Copyright 2012 SINA Corporation
# All Rights Reserved.
-# Author: Zhongyue Luo <lzyeval@gmail.com>
#
# 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
@@ -16,16 +15,15 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+#
+# @author: Zhongyue Luo, Intel Corporation.
+#
-FILES=$(find nova -type f -name "*.py" ! -path "nova/tests/*" -exec \
- grep -l "Opt(" {} \; | sort -u)
-BINS=$(echo bin/nova-*)
+FILES=$(find nova -type f -name "*.py" ! -path "nova/tests/*" \
+ -exec grep -l "Opt(" {} + | sort -u)
-PYTHONPATH=./:${PYTHONPATH} \
- python $(dirname "$0")/extract_opts.py ${FILES} ${BINS} > \
- etc/nova/nova.conf.sample
+export EVENTLET_NO_GREENDNS=yes
-# Remove compiled files created by imp.import_source()
-for bin in ${BINS}; do
- [ -f ${bin}c ] && rm ${bin}c
-done
+MODULEPATH=$(dirname "$0")/../../nova/openstack/common/config/generator.py
+OUTPUTPATH=etc/nova/nova.conf.sample
+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
diff --git a/tox.ini b/tox.ini
index 70b5d7f54..bc2ae8d6a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -39,7 +39,7 @@ commands =
commands = {posargs}
[flake8]
-ignore = E121,E122,E123,E124,E125,E126,E127,E128,E711,E712,H302,H303,H403,H404,F403,F811,F841
+ignore = E121,E122,E123,E124,E125,E126,E127,E128,E711,E712,H302,H303,H404,F403,F811,F841
builtins = _
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,plugins,tools